Spaces:
Configuration error
Configuration error
| # 🏃♂️ 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!** | |