TrainerRunning / README.md
rogarces85's picture
Upload 5 files
fa1a61c verified
# 🏃‍♂️ Osorno Runners - Sistema de Planes de Entrenamiento
Sistema profesional para crear y gestionar planes de entrenamiento personalizados para corredores.
## 🚀 Características
- ✅ Generación automática de planes de entrenamiento
- ✅ Base de datos SQLite persistente
- ✅ Sistema de autenticación (Usuario/Admin)
- ✅ Exportación a PDF
- ✅ Cálculo de zonas de frecuencia cardíaca
- ✅ IMC y datos antropométricos
- ✅ Cross training integrado
- ✅ Carreras preparatorias
- ✅ Mensajes motivacionales personalizados
## 📦 Tecnologías
- **Frontend**: HTML, CSS, JavaScript
- **Backend**: Python + Gradio
- **Base de Datos**: SQLite
- **Hosting**: HuggingFace Spaces
## 🔐 Credenciales por Defecto
### Usuario Regular
- **Usuario**: USER
- **Contraseña**: 123
- **Permisos**: Ver planes propios
### Administrador
- **Usuario**: ADMIN
- **Contraseña**: 123
- **Permisos**: Crear, ver y eliminar todos los planes
## 🏗️ Estructura del Proyecto
```
osorno-runners-hf/
├── app.py # Aplicación principal Gradio
├── index.html # Frontend
├── requirements.txt # Dependencias Python
├── README.md # Este archivo
└── osorno_runners.db # Base de datos SQLite (se crea automáticamente)
```
## 🚀 Despliegue en HuggingFace Spaces
### Paso 1: Crear Space
1. Ve a [HuggingFace Spaces](https://huggingface.co/spaces)
2. Click en "Create new Space"
3. Nombre: `osorno-runners` (o el que prefieras)
4. SDK: **Gradio**
5. Visibility: Public o Private
6. Click "Create Space"
### Paso 2: Subir Archivos
**Opción A - Mediante la interfaz web:**
1. Click en "Files" en tu Space
2. Click "Add file" → "Upload files"
3. Arrastra todos los archivos del proyecto
**Opción B - Mediante Git:**
```bash
git clone https://huggingface.co/spaces/TU_USUARIO/osorno-runners
cd osorno-runners
# Copia los archivos del proyecto aquí
git add .
git commit -m "Initial commit"
git push
```
### Paso 3: Configuración
El Space se desplegará automáticamente. La base de datos SQLite se creará en el primer inicio.
## 💻 Desarrollo Local
```bash
# Instalar dependencias
pip install -r requirements.txt
# Ejecutar aplicación
python app.py
# Abrir navegador en http://localhost:7860
```
## 📊 Base de Datos
### Tabla: planes
```sql
CREATE TABLE planes (
id INTEGER PRIMARY KEY AUTOINCREMENT,
plan_data TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
created_by TEXT NOT NULL,
athlete_name TEXT NOT NULL,
distance TEXT NOT NULL,
race_date TEXT NOT NULL
)
```
### Tabla: users
```sql
CREATE TABLE users (
username TEXT PRIMARY KEY,
password TEXT NOT NULL,
role TEXT NOT NULL,
name TEXT NOT NULL
)
```
## 🎯 Funcionalidades Principales
### Generación de Planes
- Cálculo automático de duración según distancia y experiencia
- Periodización (Base, Específico, Competencia, Transición)
- Distribución inteligente de volumen
- Zonas de FC personalizadas (Karvonen)
### Tipos de Sesiones
- Trote continuo base
- Intervalos de velocidad
- Tempo run
- Long run (carrera larga)
- Recuperación activa
- Cross training
### Exportación PDF
- Diseño profesional
- Toda la información del atleta
- Desglose semanal completo
- Zonas de frecuencia cardíaca
## 🔧 Personalización
### Agregar Nuevos Usuarios
Edita `app.py` en la función `init_db()`:
```python
cursor.execute("INSERT INTO users VALUES ('NUEVO_USER', 'pass123', 'user', 'Nombre')")
```
### Modificar Algoritmos
Los algoritmos de generación están en `index.html` en las funciones JavaScript:
- `calculateWeeks()`: Duración del plan
- `getBaseKm()`: Kilometraje base
- `generateWeekSessions()`: Sesiones semanales
## 📈 Mejoras Futuras
- [ ] Integración con IA (HuggingFace Inference API)
- [ ] Análisis de progreso
- [ ] Gráficos de volumen
- [ ] Exportar a Google Calendar
- [ ] Notificaciones por email
- [ ] Versión móvil nativa
## 🤝 Contribuciones
Las contribuciones son bienvenidas. Por favor:
1. Fork el repositorio
2. Crea una rama para tu feature
3. Commit tus cambios
4. Push a la rama
5. Abre un Pull Request
## 📄 Licencia
MIT License
## 👨‍💻 Autor
Desarrollado para Osorno Runners
## 🐛 Reporte de Bugs
Si encuentras algún bug, por favor:
1. Ve a la pestaña "Community" del Space
2. Abre una nueva discusión
3. Describe el problema detalladamente
## ⚡ Notas Importantes
- La base de datos SQLite es persistente en HuggingFace Spaces
- Los datos se mantienen entre reinicios del Space
- Para backup, descarga `osorno_runners.db` desde Files
- Máximo 50MB de almacenamiento en plan gratuito
## 🌟 Showcase
Ejemplo de uso: [Demo en vivo](https://huggingface.co/spaces/TU_USUARIO/osorno-runners)
---
**¡Dale una ⭐ si te gusta el proyecto!**