# 🏃‍♂️ 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!**