FitTracker es una aplicación completa de fitness que combina un backend robusto en Django con una aplicación móvil moderna en Flutter, diseñada para ayudar a los usuarios a rastrear sus hábitos, entrenamientos y nutrición.
- Figma Design: FitTracker Mobile App Design
- Características del diseño:
- Interfaz moderna y intuitiva
- Paleta de colores profesional
- Navegación fluida con bottom navigation
- Pantallas de autenticación elegantes
- Dashboard con estadísticas visuales
- Gestión de hábitos con progreso visual
- Placeholder para entrenamientos y nutrición
- Splash Screen - Pantalla de carga con animaciones
- Login/Register - Autenticación con validación
- Dashboard - Resumen de progreso y estadísticas
- Habits - Gestión y seguimiento de hábitos
- Workouts - Placeholder para entrenamientos
- Nutrition - Placeholder para nutrición
- Profile - Perfil de usuario y configuración
FitTracker/
├── backend/ # Backend Django
│ ├── apps/ # Aplicaciones Django
│ │ ├── accounts/ # Gestión de usuarios
│ │ ├── habits/ # Gestión de hábitos
│ │ ├── nutrition/ # Gestión de nutrición
│ │ ├── workouts/ # Gestión de entrenamientos
│ │ └── stats/ # Estadísticas y análisis
│ ├── config/ # Configuración Django
│ ├── requirements/ # Dependencias Python
│ └── manage.py # Comando Django
├── frontend/ # Frontend Flutter
│ └── fittracker_app/ # Aplicación Flutter
│ ├── lib/ # Código fuente Dart
│ ├── assets/ # Recursos (imágenes, fuentes)
│ └── pubspec.yaml # Dependencias Flutter
├── docker-compose.yml # Configuración Docker
├── nginx.conf # Configuración Nginx
└── README.md # Este archivo
- Framework: Django 5.0.2
- API: Django REST Framework
- Autenticación: JWT (JSON Web Tokens)
- Base de datos: MySQL (Amazon RDS) + SQLite (local)
- Documentación: Swagger/OpenAPI
- CORS: django-cors-headers
- Validación: django-filter
- Framework: Flutter 3.0+
- Estado: Riverpod
- Navegación: GoRouter
- HTTP: Dio + Retrofit
- Almacenamiento: SharedPreferences + SecureStorage
- UI: Material Design 3
- Gráficos: fl_chart + Syncfusion Charts
- Contenedores: Docker + Docker Compose
- Proxy: Nginx
- CI/CD: GitHub Actions (configurado)
- Backend Django completamente funcional
- API REST con 39 endpoints verificados
- Autenticación JWT implementada
- Base de datos MySQL configurada
- Aplicación Flutter con UI completa
- Navegación y estado gestionado
- Diseños de Figma implementados
- Docker configurado para desarrollo y producción
- Documentación de API (Swagger)
- Integración completa frontend-backend
- Funcionalidad de entrenamientos
- Funcionalidad de nutrición
- Gráficos y estadísticas avanzadas
- Notificaciones push
- Python 3.8+
- Flutter 3.0+
- Docker (opcional)
- MySQL (para producción)
git clone <repository-url>
cd FitTracker# Activar entorno virtual
cd backend
python -m venv venv
source venv/bin/activate # Linux/Mac
# o
venv\Scripts\activate # Windows
# Instalar dependencias
pip install -r requirements/dev.txt
# Configurar variables de entorno
cp ../env.example .env
# Editar .env con tus configuraciones
# Ejecutar migraciones
python manage.py migrate
# Crear superusuario
python manage.py createsuperuser
# Iniciar servidor
python manage.py runserver 8000# Navegar al directorio de la app
cd frontend/fittracker_app
# Obtener dependencias
flutter pub get
# Ejecutar la aplicación
flutter run -d chrome --web-port 3000# Verificar endpoints del backend
cd backend
python verify_endpoints.py
# Verificar integración
cd ..
python test_integration.py
# Verificar puertos
python check_ports.py| Servicio | Puerto | Descripción |
|---|---|---|
| Backend Django | 8000 | API REST |
| Frontend Flutter | 3000 | Aplicación web |
| MySQL | 3306 | Base de datos |
| Nginx | 80 | Proxy reverso |
- Email:
demo@fittracker.com - Contraseña:
123456
- Autenticación: Registro y login con JWT
- Dashboard: Resumen de progreso diario
- Hábitos: Crear, editar y completar hábitos
- Perfil: Información del usuario y estadísticas
- API: 39 endpoints completamente funcionales
POST /api/auth/jwt/login/- Login con JWTPOST /api/auth/jwt/refresh/- Renovar tokenPOST /api/auth/register/- Registro de usuario
GET /api/accounts/profile/- Perfil del usuarioPUT /api/accounts/profile/- Actualizar perfil
GET /api/habits/- Listar hábitosPOST /api/habits/- Crear hábitoGET /api/habits/{id}/- Detalle de hábitoPUT /api/habits/{id}/- Actualizar hábitoDELETE /api/habits/{id}/- Eliminar hábito
GET /api/nutrition/- Listar entradas de nutriciónPOST /api/nutrition/- Crear entrada de nutriciónPOST /api/nutrition/enrich/- Enriquecer datos nutricionales
GET /api/workouts/- Listar entrenamientosPOST /api/workouts/- Crear entrenamientoGET /api/workouts/exercises/search/- Buscar ejercicios
GET /api/stats/summary/- Resumen de estadísticasGET /api/stats/user/- Estadísticas del usuarioGET /api/stats/health/- Health check
GET /api/docs/- Swagger UIGET /api/redoc/- ReDocGET /api/schema/- Esquema OpenAPI
docker-compose up -ddocker-compose -f docker-compose.prod.yml up -dcd backend
python manage.py testcd frontend/fittracker_app
flutter testpython test_integration.py- Desarrollo: SQLite local
- Producción: MySQL en Amazon RDS
- Migraciones: Automáticas con Django
El proyecto incluye scripts para generar datos de ejemplo:
- 50 usuarios de prueba
- 50 hábitos por usuario
- 50 entrenamientos por usuario
- 50 entradas de nutrición por usuario
- Autenticación JWT
- CORS configurado
- Validación de datos
- Sanitización de inputs
- Headers de seguridad
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para detalles.
- Desarrollo Backend: Django + DRF
- Desarrollo Frontend: Flutter
- Diseño UI/UX: Figma
- DevOps: Docker + Nginx
- Issues: GitHub Issues
- Documentación: Wiki
- Email: support@fittracker.com
FitTracker - Tu compañero de fitness personal 🏃♂️💪