Glicko DB

Glicko DB

Documentação: Español | English | Português

Glicko DB é uma aplicação Flask e SQLite para gerenciar jogadores, ratings, partidas e torneios de uma comunidade de Go. Ela oferece classificações e estatísticas públicas, além de telas administrativas protegidas para importações, configuração do rating, cópias de segurança e operações de torneios.

Índice

Recursos

Ajuda do usuário

O guia da interface é a referência para as tarefas diárias. Ele também está disponível pelo botão ? na barra superior ou em /help?lang=pt. Em navegadores móveis compatíveis, você pode adicionar o Glicko DB à tela inicial como aplicativo.

Requisitos

Execução local

Windows PowerShell:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
$env:APP_SECRET_KEY = "substitua-por-um-valor-aleatorio-longo"
$env:ADMIN_PASSWORD = "escolha-uma-senha-segura"
python app.py

macOS ou Linux:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
export APP_SECRET_KEY="substitua-por-um-valor-aleatorio-longo"
export ADMIN_PASSWORD="escolha-uma-senha-segura"
python app.py

Abra http://127.0.0.1:5000 no navegador. A aplicação cria o banco SQLite em data/acg_ratings.db na primeira inicialização.

Apenas para dados de exemplo locais, defina LOAD_SAMPLE_DATA=1 antes de iniciar. Não use dados de exemplo em um banco de produção.

Configuração

Os valores padrão estão em config.py.

Plano do projeto

O plano está em FUTURE_FEATURES.md. A reconciliação de importações, os payloads tipados do OpenGotha, os filtros de auditoria, as melhorias de perfil e a exclusão explícita de torneios já estão implementados. O trabalho restante inclui melhorar o tema escuro do BesoGo.

Desenvolvimento

Regenere os guias HTML depois de alterar suas fontes Markdown:

python scripts/build_help_html.py

Execute a suíte de regressão a partir da raiz do projeto:

pytest -q

Organização do código

As rotas administrativas estão separadas por domínio em routes/admin_tournaments.py, routes/admin_matches.py, routes/admin_players.py e routes/admin_users.py. A lógica de torneios está separada por responsabilidade em services/tournament_gotha.py, services/tournament_participants.py, services/tournament_pairing.py, services/tournament_matches.py e services/tournament_standings.py. As traduções e a seleção de idioma ficam em services/i18n.py, enquanto os helpers puros de gráficos de rating ficam em services/chart_service.py; services/common.py mantém exports de compatibilidade para os imports existentes. services/tournament_service.py permanece como fachada de compatibilidade. A suíte completa de regressão passa atualmente em 373 testes.

Instalação em hospedagem Linux

Use Python 3.10 ou posterior e crie um ambiente virtual novo antes da instalação:

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

Se esse comando indicar que não existe uma wheel compatível do Pillow, a versão do Python, a arquitetura ou a distribuição Linux escolhida pela hospedagem não é compatível. Selecione Python 3.10+ x86_64 no painel da hospedagem; não compile o Pillow sem as bibliotecas de desenvolvimento do sistema para Python, JPEG, zlib e freetype.

Os testes cobrem ratings e gráficos, filtros de jogadores, suporte a idiomas, backups, migrações de torneios, emparelhamento, classificação, compatibilidade com OpenGotha, moderação de resultados e páginas públicas de torneios.

A cobertura de testes também inclui a biblioteca SGF, a sincronização de seus metadados, a reparação de vínculos ausentes, suas permissões e a restauração a partir de cópias de segurança.

A ordenação, os filtros e a busca consistentes já estão entregues e validados nas páginas de jogadores, partidas e torneios.

Licença e atribuição

Glicko DB foi originalmente desenvolvido para a comunidade de Go na Colômbia por Juan Felipe Samper em 2026.

O sistema Glicko-2 foi publicado por Mark Glickman em 2022 no domínio público. A implementação em Python é ©2009 Ryan Kirkman e o BesoGo é ©2015-2018 Ye Wang. Ambos são distribuídos sob a licença MIT.

^