Glicko DB

Ayuda de la interfaz

Consulta las rutas y notas de integración y el README en español. También puedes abrir esta guía desde el botón ? de la barra superior o en /help?lang=es.

Tabla de contenidos

Interfaz pública

No se requiere una cuenta para /, /rankings, /players, /player/view?id=<player_id>, /matches, /tournaments, /tournaments/<tournament_id>, /reports, /category y /sgf-library. Estas páginas ofrecen posiciones, perfiles, historial de partidas, torneos públicos, clasificaciones, información de ratings, reportes y visualización o descarga de SGF.

Página pública de inicio

La página pública ofrece navegación, controles de idioma y tema, posiciones, estadísticas y enlaces al contenido público.

Directorio de jugadores

El directorio permite explorar perfiles y filtrar la lista pública de jugadores.

Las páginas aceptan ?lang=es, ?lang=en o ?lang=pt; usa AAAA-MM-DD en los filtros y campos de fecha.

Posiciones y directorio de jugadores

Tabla de posiciones

Tabla de posiciones ordenada por rating con indicadores de categoría y forma reciente.

Perfil público de Acuña, Carlos

Perfil público con rating actual, categoría y resumen de actividad del jugador seleccionado.

Partidas y visor SGF

Lista pública de partidas

Lista global de partidas con filtros, enlace a la biblioteca SGF y acciones de visualización.

Visor SGF de una partida

Visor SGF de una partida vinculada, con controles de reproducción, cambio de tema y descarga.

Torneos públicos

Torneos públicos

Listado de torneos públicos con estado, sistema y rondas.

Detalle público de un torneo

Detalle de un torneo con selector de ronda, mesas emparejadas, resultados y clasificación.

Reportes periódicos y exportación

Reportes y estadísticas

Pantalla de reportes con filtros por fecha, jugador y opciones de exportación CSV/PDF.

Conversor de categoría

La página /category convierte un rating Glicko a categoría Dan/Kyu y muestra la fórmula, las constantes configuradas y la escala completa.

Conversor público de categoría

Conversor de rating a categoría con campo de entrada y botón de cálculo.

Noticias públicas

La página /news/<article_id> muestra el artículo publicado y transforma las etiquetas de jugadores, torneos y partidas en enlaces relacionados.

Artículo de noticias público

Artículo publicado con enlaces relacionados a jugadores, torneos y partidas.

Biblioteca SGF

La biblioteca pública (/sgf-library) contiene los registros de partidas cargados en la plataforma: - Valida automáticamente el tamaño del archivo, la codificación UTF-8 y la estructura sintáctica SGF. - Sincroniza metadatos del encabezado SGF (jugadores blanco y negro, rangos, evento, fecha y resultado) con la partida asociada en la base de datos. - Si un archivo físico desaparece de uploads/sgf/, el enlace se limpia de forma automática para evitar enlaces rotos. - Desvincular un archivo o borrar la partida conserva el registro en la biblioteca; solo los administradores pueden borrar el archivo físico definitivamente.

Biblioteca pública de archivos SGF

Biblioteca SGF con metadatos, partidas vinculadas y enlaces al visor.

Registro SGF de la biblioteca

Registro SGF abierto desde la biblioteca, con sus metadatos y controles del visor.

Interfaz de miembros

Los jugadores de la comunidad pueden registrar una cuenta personal para gestionar sus preferencias y enviar resultados de torneos o partidas individuales.

Registro e inicio de sesión

  1. Abre /admin/register para crear una cuenta proporcionando nombre de usuario, correo electrónico y contraseña (mínimo 8 caracteres). El formulario incluye protección Google reCAPTCHA v3.
  2. Las cuentas nuevas reciben automáticamente el rol member.
  3. Solicita a un administrador u operador que vincule tu cuenta de usuario con tu ficha de jugador en /admin/users.
  4. Inicia sesión en /admin/login.

Inicio de sesión administrativo

Formulario de acceso administrativo con enlaces de registro y recuperación.

Registro de cuenta de miembro

Registro de una cuenta de miembro con correo y confirmación de contraseña.

Gestión de perfil y preferencias

Desde /admin/profile, cada usuario autenticado puede: - Actualizar su dirección de correo electrónico para notificaciones y recuperación. - Cambiar el idioma preferido de la interfaz (Español, English, Português). - Alternar entre el tema claro y el tema oscuro. - Seleccionar su zona horaria IANA con ajuste UTC calculado (por ejemplo, America/Bogota [UTC-05:00], America/Sao_Paulo, Europe/Madrid). - Cambiar su contraseña actual ingresando la contraseña anterior y la nueva confirmada.

Perfil del miembro

Pantalla de perfil de usuario para gestionar idioma, tema, zona horaria y contraseña.

Recuperación de contraseña

  1. Si olvidaste tu contraseña, haz clic en ¿Olvidaste tu contraseña? en /admin/login o ingresa a /admin/forgot-password.
  2. Ingresa tu correo registrado. Si existe en el sistema, recibirás un enlace de un solo uso con token hash criptográfico.
  3. El enlace expira automáticamente según el tiempo configurado (PASSWORD_RESET_TTL_SECONDS, por defecto 3600 segundos).
  4. Abre el enlace /admin/reset-password/<token> e ingresa tu nueva contraseña. Por motivos de seguridad, la respuesta no revela si un correo está registrado o no.

Recuperación de contraseña

Solicitud de un enlace de recuperación mediante el correo registrado.

Restablecimiento de contraseña

Formulario para establecer una nueva contraseña a partir de un token.

Reportar resultados

Los miembros pueden reportar resultados de partidas en /admin/report-results:

  1. Requisito obligatorio: la cuenta debe estar vinculada a un jugador por un administrador. Si no está vinculada, la interfaz mostrará un aviso informativo.
  2. Formulario de envío:
    • Oponente: selecciona el jugador rival de la lista de jugadores activos.
    • Color: indica si jugaste con Blancas o Negras.
    • Resultado: indica si ganaron Blancas (1-0), ganaron Negras (0-1) o Tablas (1/2-1/2).
    • Fecha: fecha en que se jugó la partida (AAAA-MM-DD).
    • Evento y Lugar: nombre del torneo o club y ciudad donde se disputó.
    • Ronda: número de ronda si corresponde.
    • Piedras de hándicap: cantidad de piedras (0 a 9) otorgadas a Negras.
    • Archivo SGF (opcional): carga el archivo .sgf con el registro de jugadas.
  3. Estado de envío: una vez enviada, la partida queda en estado Pendiente en la cola de moderación (/admin/result-submissions). No afecta rankings, ratings ni reportes públicos hasta que sea revisada y aprobada por el equipo administrativo.

Envío de resultados de miembros

La pantalla muestra el requisito de vincular un jugador y el área de envíos pendientes.

Panel de administración

Inicia sesión en /admin/login con una cuenta con rol administrativo. El menú se adapta automáticamente según los permisos asignados: - member: acceso a perfil y reporte de resultados de su jugador vinculado. - tournament_director: gestión completa de torneos (participantes, emparejamientos, rondas, resultados y exportaciones). - operator: todas las funciones de torneos, más gestión de partidas, importación de datos, biblioteca SGF, noticias y moderación de resultados. - administrator: control total de la plataforma, incluyendo jugadores, configuración de ratings/categorías, copias de seguridad, gestión de usuarios, auditoría y parámetros del sistema.

Panel de administración

El panel agrupa los controles en operaciones de torneos, gestión de datos y administración y acceso. Selecciona Abrir en una tarjeta para entrar.

Gestión de torneos

1. Creación y configuración de torneos (/admin/tournaments)

Administración de torneos

La página de torneos ofrece controles para crear torneos, seleccionar el sistema de emparejamiento y abrir sus operaciones.

Ajustes avanzados del torneo

Ajustes del torneo con fechas, rondas, puntos de BYE/ausencia, hándicap y aceleración.

2. Gestión de participantes

Gestión de participantes del torneo

Gestión de participantes con lista actual, selector de jugadores existentes y creación de jugadores pendientes.

3. Emparejamientos, rondas y registro de resultados

Detalle del torneo y rondas

Panel de control de ronda de torneo: emparejamientos, mesas, selector de resultados y clasificación.

4. Procesamiento de rondas y cálculo de rating

Gestión de datos

1. Asistente de importación con vista previa (/admin/import)

Permite cargar datos históricos o torneos masivos: - Formatos aceptados: - Libro Excel (.xlsx o .xls): importa el conjunto completo de jugadores y partidas reemplazando los datos actuales. - XML de OpenGotha (.xml): importa metadatos del torneo, jugadores, partidas y piedras de hándicap. - Archivo CSV (.csv): columnas date, white, black, result y opcional handicap (0 a 9). - Crea una copia de seguridad antes de importar un libro que reemplace los datos activos. - Reconciliación explícita de jugadores: - La vista previa clasifica cada registro como Coincidencia exacta, Sugerencia difusa, Jugador nuevo o Duplicado. - El operador puede decidir por cada jugador: vincular al existente, crear nuevo o rechazar la fila. - Permite editar metadatos del torneo antes de confirmar la importación. - Un error de validación en CSV cancela toda la operación sin dejar cambios parciales.

Controles de importación

La pantalla usa el selector de archivos para elegir un archivo Excel, CSV u OpenGotha y Importar para iniciar la vista previa y reconciliación.

Vista previa y reconciliación de importación

Vista previa de OpenGotha con metadatos editables, resumen de coincidencias y decisiones por jugador.

2. Administración de jugadores (/admin/players)

Lista administrativa de jugadores

Lista administrativa con filtros, rango Glicko, estado y accesos de edición.

Edición de Acuña, Carlos

Formulario de edición de un jugador con nombre, rating inicial, club, país y estado activo.

3. Administración de partidas (/admin/matches)

Formulario para añadir una partida

Formulario de alta de partida con jugadores, resultado, fecha, ronda, hándicap y SGF opcional.

Formulario para editar una partida

Formulario de edición precargado para corregir una partida existente.

Administración de partidas

Tabla de partidas con filtros por fecha, jugador y opciones de edición, borrado y gestión SGF.

4. Configuración de ratings y categorías (/admin/ratings y /admin/categories)

Configuración administrativa de ratings

Panel de ratings con parámetros Glicko-2, conteos del historial y acciones de recálculo.

Configuración administrativa de categorías

Configuración de la fórmula Dan/Kyu y vista previa de cambios de categoría.

5. Moderación de resultados (/admin/result-submissions)

Cola administrativa de resultados

Cola de moderación con filtro de estado, detalle de partidas y acciones de aprobar o rechazar.

Tareas administrativas y de seguridad

1. Copias de seguridad y restauración (/admin/backups)

Gestión de copias de seguridad

Lista de copias con acciones de crear, restaurar y eliminar.

2. Gestión de usuarios (/admin/users)

Lista de cuentas de usuario

Lista de cuentas con rol, jugador vinculado, zona horaria, estado y acciones.

Creación de una cuenta de usuario

Formulario para crear una cuenta y asignar rol, jugador vinculado y zona horaria.

Edición de docs_admin vinculado a Acuña, Carlos

Edición de docs_admin, mostrando el vínculo con el jugador Acuña, Carlos y los permisos de la cuenta.

3. Publicación de noticias (/admin/news)

Lista administrativa de noticias

Lista de noticias con estado de publicación, fecha de actualización y acciones.

Nueva noticia

Formulario de nueva noticia con publicación inmediata y enlaces inteligentes.

Edición de una noticia

Formulario precargado para editar el cuerpo, estado y enlaces relacionados de una noticia.

4. Registro y revisión de auditoría (/admin/audit)

Revisión de auditoría

Registro de auditoría administrativa con filtros por usuario, categoría de acción y fechas.

5. Configuración de seguridad de la aplicación (/admin/settings)

Configuración de seguridad

Parámetros administrativos de intentos de acceso, ventana de limitación y TTL de recuperación.

Guía de solución de problemas

  1. Acceso denegado (403): verifica que tu cuenta tenga asignado el rol requerido (tournament_director, operator o administrator) para la sección que intentas abrir.
  2. No puedo enviar resultados como miembro: confirma en /admin/users que tu cuenta esté vinculada a una ficha de jugador activa.
  3. Errores al importar archivos: - Verifica que el CSV use codificación UTF-8 y contenga las columnas obligatorias date, white, black, result. - Asegúrate de que las fechas tengan el formato AAAA-MM-DD y los resultados sean exclusivamente 1-0, 0-1 o 1/2-1/2. - Comprueba que el hándicap esté en el rango de 0 a 9 piedras.
  4. Archivos SGF no encontrados: si un archivo SGF desaparece físicamente, la aplicación limpia automáticamente el enlace para no interrumpir la navegación. Vuelve a subir el archivo desde /admin/matches o la biblioteca SGF.
  5. Restauración de base de datos: tras restaurar una copia, el sistema ejecuta las migraciones pendientes y reconstruye el índice FTS5 antes de aceptar peticiones.
  6. Seguridad en producción: mantén siempre variables secretas (APP_SECRET_KEY, ADMIN_PASSWORD, credenciales SMTP y claves reCAPTCHA) configuradas en el entorno del servidor y nunca en el repositorio de código.
^