Spaces:
Configuration error
Configuration error
File size: 4,839 Bytes
fa1a61c 49703ac fa1a61c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | # 🏃♂️ 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!**
|