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
  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:

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 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


¡Dale una ⭐ si te gusta el proyecto!