Glicko DB

Glicko DB

Documentación: Español | English | Português

Glicko DB es una aplicación Flask y SQLite para administrar jugadores, ratings, partidas y torneos de una communidad de Go. Ofrece posiciones y estadísticas públicas, junto con pantallas de administración protegidas para importaciones, configuración del rating, copias de seguridad y operaciones de torneos.

Tabla de contenidos

Funciones

Ayuda para usuarios

La guía de la interfaz es la referencia para las tareas diarias. También está disponible desde el botón ? de la barra superior o en /help?lang=es. En navegadores móviles compatibles, puedes agregar Glicko DB a la pantalla de inicio como aplicación.

Requisitos

Ejecución local

Windows PowerShell:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
$env:APP_SECRET_KEY = "reemplaza-por-un-valor-aleatorio-largo"
$env:ADMIN_PASSWORD = "elige-una-contrasena-segura"
python app.py

macOS o Linux:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
export APP_SECRET_KEY="reemplaza-por-un-valor-aleatorio-largo"
export ADMIN_PASSWORD="elige-una-contrasena-segura"
python app.py

Abre http://127.0.0.1:5000 en el navegador. La aplicación crea la base de datos SQLite en data/acg_ratings.db durante el primer inicio.

Solo para datos de ejemplo locales, define LOAD_SAMPLE_DATA=1 antes de iniciar. No uses datos de ejemplo en una base de datos de producción.

Configuración

Los valores predeterminados están en config.py.

Hoja de ruta del proyecto

La hoja de ruta está en FUTURE_FEATURES.md. La reconciliación de importaciones, los payloads tipados de OpenGotha, los filtros de auditoría, las mejoras de perfiles y la eliminación explícita de torneos ya están implementados. El trabajo restante incluye mejorar el tema oscuro de BesoGo.

Desarrollo

Regenera las guías HTML después de cambiar sus fuentes Markdown:

python scripts/build_help_html.py

Ejecuta la suite de regresión desde la raíz del proyecto:

pytest -q

Organización del código

Las rutas administrativas están separadas por dominio entre routes/admin_tournaments.py, routes/admin_matches.py, routes/admin_players.py y routes/admin_users.py. La lógica de torneos está separada por responsabilidad entre services/tournament_gotha.py, services/tournament_participants.py, services/tournament_pairing.py, services/tournament_matches.py y services/tournament_standings.py. Las traducciones y la selección de idioma viven en services/i18n.py, mientras que los helpers puros de gráficos de rating viven en services/chart_service.py; services/common.py conserva exports de compatibilidad para los imports existentes. services/tournament_service.py se conserva como fachada de compatibilidad. La suite completa de regresión pasa actualmente 373 pruebas.

Instalación en hosting Linux

Usa Python 3.10 o posterior y crea un entorno virtual nuevo antes de instalar:

python3.11 -m venv .venv
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install --only-binary=Pillow -r requirements.txt

Si ese comando indica que no existe una rueda compatible de Pillow, la versión de Python, la arquitectura o la distribución Linux seleccionada por el hosting no es compatible. Selecciona Python 3.10+ x86_64 en el panel del hosting; no intentes compilar Pillow sin las bibliotecas de desarrollo de Python, JPEG, zlib y freetype del sistema.

Las pruebas cubren ratings y gráficos, filtros de jugadores, soporte de idiomas, respaldos, migraciones de torneos, emparejamientos, clasificación, compatibilidad con OpenGotha, moderación de resultados y páginas públicas de torneos.

La cobertura de pruebas también incluye la biblioteca SGF, la sincronización de sus metadatos, la reparación de enlaces faltantes, sus permisos y la restauración desde copias de seguridad.

La funcionalidad de ordenación, filtros y búsqueda consistente ya está entregada y validada en las páginas de jugadores, partidas y torneos.

Licencia y atribución

Glicko-db fue originalmente desarrollado para la comunidad de Go en Colombia por Juan Felipe Samper en 2026.

El sistema Glicko-2 fue publicado por Mark E. Glickman en 2022 al dominio público. La implementación en python es ©2009 Ryan Kirkman y BesoGo es ©2015-2018 Ye Wang. Ambas se distribuyen bajo la licencia MIT.

^