Aplicación full stack desarrollada con FastAPI, Supabase y React/Vite para la operación diaria de un gimnasio. El proyecto hoy cubre clientes, pagos, asistencias, reportes, configuración del negocio y un primer módulo de rutinas por grupos musculares.
- Frontend: https://libre-funcional.vercel.app/
- Backend: https://gymapp-backend-xe0n.onrender.com
- Healthcheck:
GET /health
- Gestión de clientes con alta, edición, estado y ficha operativa
- Registro y seguimiento de pagos
- Check-ins y calendario de asistencias
- Reportes de ingresos, asistencia y altas
- Configuración operativa del gimnasio
- Roles
DueñoyCoach - Rutinas por grupos musculares con carga de repeticiones y kilos
- Alta y edición de clientes
- Spotlight Search para búsqueda rápida
- Ficha con pagos recientes y calendario de asistencias
- Registro de pagos por período
- Métodos
cashytransfer - Seguimiento de cobros pendientes
- Check-in por cliente
- Historial de asistencias
- Calendario visual por cliente
- KPIs de ingresos
- Asistencia por rango
- Altas de clientes
- Detalle diario de check-ins
- Identidad del gimnasio
- Datos de contacto
- Medios de pago
- Mensaje operativo para recepción
- Día 1: Pecho y Bíceps
- Día 2: Espalda y Tríceps
- Día 3: Hombros
- Día 4: Piernas
- Plantilla global de ejercicios por día
- Selección de ejercicios activos por parte de owner/coach
- Registro de series, repeticiones, carga en kg y nota por cliente
- React + Vite
- TypeScript
- Tailwind CSS
- shadcn/ui
- React Router
- SweetAlert2
- FastAPI
- SQLAlchemy
- Alembic
- JWT Auth
- Routers modulares
- PostgreSQL en Supabase
backend/
|-- app/
| |-- routers/
| |-- auth.py
| |-- config.py
| |-- main.py
| |-- middleware.py
| |-- models.py
| |-- routine_catalog.py
| |-- schemas.py
|-- migrations/
|-- requirements.txt
frontend/
|-- public/
|-- src/
| |-- components/
| |-- lib/
| |-- pages/
| |-- types.ts
|-- package.json
|-- vite.config.js
|-- vercel.json
cd backend
pip install -r requirements.txt
python -m alembic upgrade head
uvicorn app.main:app --reloadcd frontend
npm install
npm run devSi necesitás crear el usuario owner:
cd backend
python scripts/create_owner.pyCredenciales por defecto:
- Email:
owner@miniespacio.com - Password:
Cambiar123
- Desplegado en Vercel
- Si hay cambios de UI, alcanza con redeploy del frontend
- Desplegado en Render
- Si cambian modelos, routers o lógica de negocio, hacé redeploy del backend
- PostgreSQL en Supabase
- Si agregás migraciones nuevas, corré:
cd backend
python -m alembic upgrade headgit pullo deploy del último commitpython -m alembic upgrade head- Redeploy de Render
- Redeploy de Vercel si el frontend también cambió
El sistema ya está listo para demo funcional. La siguiente etapa natural del roadmap es profundizar el módulo de rutinas:
- gráficos de progreso por ejercicio
- más contexto dentro de la ficha del cliente
- presets por objetivo o nivel
Ezequiel Bellino
- GitHub: https://github.com/ezebellino
- LinkedIn: https://www.linkedin.com/in/ezebellino
MIT