Plan de proyecto
Objetivos, fases, estado actual y próximos pasos de Helical.
1. Objetivos
- Centralizar datos: Unificar fuentes (La Liga, Transfermarkt, OpenFootball, StatsBomb, Understat) en una sola BD MySQL.
- Datos solo desde nuestra BD: Toda la información en la app proviene de la base de datos; no APIs externas en tiempo real.
- Experiencia de uso: Navegación clara por secciones (Inicio, La Liga, Jugadores, StatsBomb, Data Panel).
- Operación: Data Panel para estado de fuentes, caché y optimización de tablas; despliegue repetible (EC2).
2. Fases realizadas
| Fase | Contenido |
|---|---|
| Infraestructura y ETL | Esquema MySQL, carga Transfermarkt (Git LFS), OpenFootball, Understat; corrección CRLF en despliegue. |
| Backend y API | Flask, rutas y endpoints: health, sources, stats, players, best-results, la-liga, statsbomb, clear-cache, optimize-tables. |
| Frontend | Inicio (contadores, 3 mejores resultados rotativos), Jugadores (listado + modal, valor por año), La Liga (partidos y filtro temporada), StatsBomb (gráficos + tabla), Data Panel (estado fuentes, optimizar tablas). |
| Despliegue | desplegar.ps1 (SCP, CRLF, limpieza obsoletos, deploy_server.sh); documentación (README, API, plan). |
3. Estado actual por área
| Área | Estado | Notas |
|---|---|---|
| Inicio | OK | Contadores, mejores resultados, fuentes, Explora. |
| La Liga | OK | Partidos con filtro temporada y resultado; modal con goles (jugador y minuto); escudos en Equipos. |
| Jugadores | OK | Listado + modal; valor por año, rendimientos, lesiones. |
| StatsBomb | OK | Gráficos (Chart.js) y tabla muestra; carga asíncrona. |
| Data Panel | OK | Estado fuentes (OK/Vacía/Error), optimizar tablas. |
| ETL / Despliegue | OK | Scripts y despliegue operativos. |
4. Próximos pasos (roadmap)
Tablas creadas y actualizadas en servidor; siguiente: ejecutar por prioridad.
| Prioridad | Acción |
|---|---|
| Alta | Clasificación La Liga por temporada (tabla de posiciones). |
| Alta | Más métricas en La Liga (jornada, árbitro, estadísticas por partido). |
| Media | Filtro por equipo en partidos de La Liga. |
| Media | Exportar datos (CSV/JSON) en listados. |
| Media | Tests automatizados de API y ETL. |
| Baja | PWA / uso offline básico. |
5. Criterios de éxito
- Los usuarios ven partidos de La Liga, perfiles de jugadores y eventos StatsBomb sin depender de APIs externas en tiempo real.
- El Data Panel refleja el estado real de las fuentes y las acciones de mantenimiento no generan errores críticos.
- El despliegue en servidor es repetible y los scripts no fallan por CRLF ni por optimizar vistas.
Documento completo: docs/PLAN_PROYECTO.md