Ir al contenido

Juegos online

TotoMondiale

El juego gratuito de pronósticos de fútbol que organizo en cada gran torneo desde 2008, reconstruido en Node.js para el Mundial 2026.

TipoJuegos online

El problema

TotoMondiale es un juego de pronósticos gratuito que organizo para los grandes torneos de fútbol desde mediados de los años 2000. Su salón de la fama recoge TotoEuropeo 2008, TotoEuropeo 2012, TotoMondiale 2014 y TotoEuropeo 2016. Las reglas apenas han cambiado: para cada partido rellenas una quiniela, los puntos siguen las cuotas y todas las quinielas se hacen públicas antes del pitido inicial para que nadie pueda hacer trampa. El antiguo sitio en ASP clásico no podía ofrecer lo que hoy esperan los jugadores: ligas privadas con amigos, un diseño cómodo en el móvil y resultados en directo. Para el Mundial 2026 lo reescribí por completo.

Lo que construí

Una nueva plataforma en Node.js que mantiene las reglas de siempre y añade ligas, datos en directo y algo de diversión.

  • Quiniela de 9 cupones: resultado final, descanso, gol/no gol, más/menos, penaltis, descanso/final, par/impar, resultado exacto, total de goles. Las cuotas llegan de API-Football, con cuotas por defecto cuando no hay ninguna disponible.
  • Ligas privadas y públicas: cada liga tiene su propia clasificación, banner, teletipo de noticias y chat.
  • Cartas especiales: Sesto Senso da un bonus en el resultado exacto, Malocchio quita puntos a otro jugador y Cornicello anula un Malocchio.
  • Juego limpio en el código: las quinielas y las cartas de los demás jugadores permanecen ocultas hasta que el partido se bloquea. La regla vale también para los administradores de la plataforma. Si alguien olvida su quiniela, el sistema la rellena al azar, tal como decían las reglas originales.
  • Partidos en directo: un proceso consulta API-Football cada 30 segundos y actualiza los marcadores durante el partido.
  • Funciones de IA: Claude redacta cada día una serie de pronósticos sugeridos; los administradores de liga pueden crear un banner con DALL-E 3 y un pequeño periódico de la liga con OpenAI.
  • Páginas del torneo e idiomas: selecciones, estadios, historia, fase de grupos y cuadro de eliminatorias, en cinco idiomas, con inicio de sesión de Google.

Con qué está hecho

Node.js 20, Express 4, EJS, MySQL 8, Passport con Google OAuth, Nodemailer e ImapFlow, sobre Phusion Passenger en cPanel. Publico en pasos pequeños y subo la versión cada vez: el código está en la versión 5.1.642, build 665. Las ediciones anteriores funcionaban en ASP clásico con bases de datos Access.

Por qué se hizo así

Las horas de inicio se guardan en UTC con un desfase de visualización aparte. API-Football necesita la hora UTC real para encontrar un partido, mientras que los jugadores quieren leer la hora italiana. Mantener separadas las dos cosas evita toda una categoría de errores en los que un partido se bloquea una hora antes o una hora después.

¿Tienes una idea?
Hablemos.

Ya sea un sitio web, una app, un vídeo, una canción o algo más grande, estoy listo para ayudarte a hacerlo realidad.

Contáctame
  • Nápoles
  • Ideas
  • Proyectos
  • Personas
  • Siempre adelante