Commit inicial
Voy a ir subiendo las cosas de a poco porque sinó rebota la conexión
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
|||||||
|
# Configuración de entorno (contiene URLs y keys de Supabase)
|
||||||
|
flutter_soma_app/config/dev.json
|
||||||
|
flutter_soma_app/config/prod.json
|
||||||
|
|
||||||
|
# Estado local del CLI de Supabase
|
||||||
|
supabase/.temp/
|
||||||
|
|
||||||
|
# Android: paths locales del SDK
|
||||||
|
flutter_soma_app/android/local.properties
|
||||||
|
|
||||||
|
# Artefactos de build y release
|
||||||
|
/release/
|
||||||
|
/gh-pages/
|
||||||
|
|
||||||
|
# macOS / editor
|
||||||
|
.DS_Store
|
||||||
@@ -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