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