Sistema de estadísticas deportivas para la Premier League 2024. Permite cargar datos de jugadores desde CSV o API, almacenarlos en PostgreSQL y generar gráficos sobre posiciones, equipos, edades y nacionalidades.
- Python 3.12+
- Docker y Docker Compose
.envcon tu API key y credenciales de base de datos (¡no versionar!)
# Clonar repo
git clone <tu_repo>
cd Sistema-de-Estadisticas-Deportivas-
# Crear virtualenv y activar
python -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
# Instalar dependencias
pip install -r requirements.txt
# Crear carpeta de plots si no existe
mkdir -p data/plots# API
API_FOOTBALL_KEY=<tu_api_key>
# Variables para Docker Postgres
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=<tu_password>
# Variables para tu app Python
DB_HOST=localhost
DB_PORT=5433
DB_NAME=postgres
DB_USER=postgres
DB_PASSWORD=<tu_password>
⚠️ El.envno debe versionarse en git.
docker compose upEsto levanta:
football_db→ base de datos PostgreSQLfootball_pipeline→ pipeline Python que carga jugadores y genera gráficos
Los gráficos se guardan automáticamente en
data/plots.
# Activar virtualenv
source venv/bin/activate
# Cargar jugadores a la DB
python -m src.load.load_players
# Generar todos los gráficos
python -m src.analytics.plots_master- Distribución de posiciones →
players_by_position.png - Top equipos por jugadores →
top_teams.png - Distribución de edades →
age_distribution.png - Top nacionalidades →
top_nationalities.png
- Mantener el
.envfuera del repositorio para proteger API keys y credenciales. - Docker permite levantar DB y pipeline sin conflictos de dependencias.
- Si se agrega nueva data, el loader es idempotente: evita duplicados automáticamente.