Plataforma web para la gestion de programas de fitness, nutricion, progreso y administracion de usuarios.
NexFit365 centraliza la operacion de un servicio digital de entrenamiento y nutricion. El sistema permite crear planes, asignarlos a usuarios, gestionar contenido, consultar metricas de progreso y mantener flujos administrativos desde una aplicacion web moderna.
El proyecto esta dividido en dos aplicaciones principales:
- Frontend: aplicacion Next.js con TypeScript, React, Tailwind CSS y componentes reutilizables.
- Backend: API Django REST Framework con autenticacion JWT, PostgreSQL, Redis y servicios auxiliares.
- Registro, autenticacion y gestion de sesiones mediante JWT.
- Roles diferenciados para usuarios, administradores y perfiles operativos.
- Panel administrativo para gestionar planes, contenidos y datos de usuarios.
- Flujos de mantenimiento para datos de entrenamiento, nutricion y progreso.
- Planes de alimentacion personalizados.
- Biblioteca de recetas con datos nutricionales.
- Gestion de equivalencias alimentarias para sustituciones.
- Seguimiento de calorias y macronutrientes.
- Herramientas administrativas para importar, editar y mantener contenido nutricional.
- Programas y plantillas de entrenamiento.
- Biblioteca de ejercicios con soporte para recursos multimedia.
- Asignacion de planes segun configuraciones y objetivos.
- Seguimiento semanal del cumplimiento y progreso del usuario.
- Registro de metricas corporales y actividad.
- Dashboards para visualizar evolucion y adherencia.
- Historial de planes, entrenamientos y datos relevantes.
- Base funcional para logros, notificaciones y seguimiento operativo.
| Area | Tecnologias |
|---|---|
| Frontend | Next.js 15, React 19, TypeScript, Tailwind CSS |
| UI | Radix UI, shadcn/ui patterns, Lucide React, Recharts |
| Backend | Python, Django 5.2, Django REST Framework |
| Auth | JWT con djangorestframework-simplejwt |
| Datos | PostgreSQL, Redis |
| Tareas y cache | Celery, django-redis, django-celery-results |
| Calidad | Jest, Testing Library, Pytest, ESLint, TypeScript |
| Despliegue | Docker, Docker Compose, Gunicorn, WhiteNoise |
Frontend Backend API Infraestructura
Next.js + React <--> Django REST Framework <--> PostgreSQL + Redis
.
|-- backend/ # API, modelos, servicios y tareas del servidor
| |-- accounts/ # Usuarios, autenticacion y perfiles
| |-- achievements/ # Logros y progreso asociado
| |-- dashboard/ # Servicios para vistas administrativas
| |-- notifications/ # Notificaciones
| |-- nutrition/ # Planes, recetas y equivalencias
| |-- progress/ # Metricas y seguimiento del usuario
| `-- workouts/ # Entrenamientos, ejercicios y programas
|
|-- frontend/ # Aplicacion web
| |-- app/ # Rutas y layouts de Next.js
| |-- components/ # Componentes de interfaz
| |-- hooks/ # Hooks de React
| |-- lib/ # Clientes, utilidades y logica compartida
| `-- public/ # Recursos estaticos
|
|-- doc/ # Documentacion complementaria
|-- scripts/ # Scripts de soporte operativo
|-- docker-compose.dev.yml # Orquestacion para desarrollo
`-- docker-compose.prod.yml # Orquestacion para despliegue
- Node.js compatible con Next.js 15.
- Python 3.11 o superior.
- PostgreSQL.
- Redis.
- Docker y Docker Compose para ejecucion contenerizada.
El proyecto utiliza variables de entorno para credenciales, endpoints, claves secretas y configuracion de servicios externos.
Archivos de referencia:
backend/env.examplebackend/env.production.examplefrontend/env.example
Pasos generales:
- Crear los archivos
.envnecesarios a partir de los ejemplos. - Configurar credenciales de base de datos, Redis, JWT, CORS y servicios externos.
- Ejecutar migraciones del backend.
- Instalar dependencias y levantar frontend y backend.
No se deben versionar credenciales, rutas internas de servidores ni archivos de entorno reales.
docker compose -f docker-compose.dev.yml up --builddocker compose -f docker-compose.prod.yml up -d --buildcd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runservercd frontend
npm install
npm run devcd frontend
npm run lint
npm run typecheck
npm testcd backend
pytestdoc/: documentacion general del proyecto.doc/backend/: notas tecnicas del backend.doc/frontend/: notas tecnicas del frontend.doc/docker/: documentacion de despliegue y contenedores.scripts/deployment/: utilidades operativas de despliegue y mantenimiento.