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
- Ve a HuggingFace Spaces
- Click en "Create new Space"
- Nombre:
osorno-runners(o el que prefieras) - SDK: Gradio
- Visibility: Public o Private
- Click "Create Space"
Paso 2: Subir Archivos
Opción A - Mediante la interfaz web:
- Click en "Files" en tu Space
- Click "Add file" → "Upload files"
- Arrastra todos los archivos del proyecto
Opción B - Mediante Git:
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
# Instalar dependencias
pip install -r requirements.txt
# Ejecutar aplicación
python app.py
# Abrir navegador en http://localhost:7860
📊 Base de Datos
Tabla: planes
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
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():
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 plangetBaseKm(): Kilometraje basegenerateWeekSessions(): 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:
- Fork el repositorio
- Crea una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abre un Pull Request
📄 Licencia
MIT License
👨💻 Autor
Desarrollado para Osorno Runners
🐛 Reporte de Bugs
Si encuentras algún bug, por favor:
- Ve a la pestaña "Community" del Space
- Abre una nueva discusión
- 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.dbdesde Files - Máximo 50MB de almacenamiento en plan gratuito
🌟 Showcase
Ejemplo de uso: Demo en vivo
¡Dale una ⭐ si te gusta el proyecto!