Commit inicial
Voy a ir subiendo las cosas de a poco porque sinó rebota la conexión
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# 
|
||||
|
||||
# Proyecto SOMA
|
||||
|
||||

|
||||

|
||||
|
||||
Sistema de gestión para gimnasios, desarrollado como trabajo integrador para la materia **Taller de Integración** de la Licenciatura en Sistemas de Información.
|
||||
|
||||
SOMA es una aplicación de escritorio que le permite al administrador de un gimnasio gestionar sus clientes, turnos, pagos y horarios desde un solo lugar, reemplazando las planillas manuales y los mensajes de WhatsApp dispersos.
|
||||
|
||||
## Equipo
|
||||
|
||||
| Integrante | Rol principal |
|
||||
|---------------------|---------------|
|
||||
| Santángelo, Pablo | Backend |
|
||||
| Marioni, Alex | Frontend |
|
||||
|
||||
## Funcionalidades
|
||||
|
||||
- **Usuarios**: alta, baja, modificación y búsqueda de clientes; gestión de roles (admin, superadmin).
|
||||
- **Pagos**: registro de cuotas con recargo automático por mora; exportación a PDF y CSV; importación desde CSV.
|
||||
- **Horarios y turnos**: configuración de franjas horarias y cupos; reserva de turnos por cliente.
|
||||
- **Actividades y tipos de cuota**: configuración de las actividades del gimnasio y los planes de pago.
|
||||
- **Notificación de deuda**: envío directo de mensaje de WhatsApp al cliente moroso.
|
||||
- **Autenticación**: inicio de sesión con contraseña; cambio de contraseña.
|
||||
|
||||
## Stack tecnológico
|
||||
|
||||
| Capa | Tecnología |
|
||||
|------------|-----------------------------------------|
|
||||
| Frontend | Flutter (Dart) |
|
||||
| Backend | Supabase (PostgreSQL + Edge Functions) |
|
||||
| Lenguajes | Dart · PL/pgSQL · TypeScript (Deno) |
|
||||
| Plataforma | Windows (compilación nativa) |
|
||||
|
||||
La lógica de negocio vive en funciones PL/pgSQL (`fc_*`) dentro de la base de datos. La app Flutter consume esas funciones a través de la API REST de Supabase.
|
||||
|
||||
## Estructura del repositorio
|
||||
|
||||
```
|
||||
SOMA-PRO/
|
||||
├── flutter_soma_app/ # App Flutter (código fuente principal)
|
||||
│ └── lib/
|
||||
│ ├── core/ # Configuración, tema, utilidades compartidas
|
||||
│ └── features/ # Módulos por dominio (pagos, turnos, usuarios, ...)
|
||||
│ └── <feature>/
|
||||
│ ├── domain/ # Entidades y lógica de negocio
|
||||
│ ├── data/ # Acceso a datos (repositorios, Supabase)
|
||||
│ └── presentation/ # Pantallas y widgets
|
||||
├── soma_pro_updater/ # Actualizador automático de la app
|
||||
├── supabase/ # Proyecto Supabase
|
||||
│ ├── migrations/ # Migraciones de la base de datos
|
||||
│ └── seed.sql # Datos iniciales
|
||||
├── database/ # Scripts SQL: funciones, triggers, esquema, backups
|
||||
│ ├── functions/
|
||||
│ ├── triggers/
|
||||
│ ├── schema/
|
||||
│ └── backup/
|
||||
└── Documentation/ # Documentación del proyecto
|
||||
├── DocumentacionTecnicaSoma.pdf # Documentación técnica
|
||||
└── ManualDeUsuarioSoma.pdf # Manual de usuario
|
||||
```
|
||||
|
||||
Cada feature de la app sigue una arquitectura de tres capas (domain → data → presentation), organizada por módulo funcional.
|
||||
|
||||
## Requisitos para compilar
|
||||
|
||||
- Flutter SDK ≥ 3.10
|
||||
- Dart SDK ≥ 3.10
|
||||
- Supabase CLI (para desarrollo local con la base de datos)
|
||||
- Windows 10+ (para compilar la app de escritorio)
|
||||
|
||||
## Cómo ejecutar
|
||||
|
||||
```bash
|
||||
git clone https://gitea.fcyt.uader.edu.ar/alumnos_ti/SOMA-PRO.git
|
||||
cd SOMA-PRO/flutter_soma_app
|
||||
flutter pub get
|
||||
flutter run -d windows
|
||||
```
|
||||
|
||||
La app necesita conectarse a una instancia de Supabase. Los archivos de configuración del entorno están en `flutter_soma_app/config/`.
|
||||
|
||||
## Documentación
|
||||
|
||||
| Documento | Contenido |
|
||||
|-----------------------------------|----------------------------------------------------|
|
||||
| `DocumentacionTecnicaSoma.pdf` | Arquitectura, decisiones técnicas, modelo de datos |
|
||||
| `ManualDeUsuarioSoma.pdf` | Guía de uso de la aplicación |
|
||||
Reference in New Issue
Block a user