Pular para o conteúdo

Jogos online

TotoMondiale

O jogo gratuito de palpites de futebol que conduzo em todo grande torneio desde 2008, reconstruído em Node.js para a Copa do Mundo de 2026.

TipoJogos online

O problema

O TotoMondiale é um jogo de palpites gratuito que conduzo nos grandes torneios de futebol desde meados dos anos 2000. O hall da fama dele lista o TotoEuropeo 2008, o TotoEuropeo 2012, o TotoMondiale 2014 e o TotoEuropeo 2016. As regras quase não mudaram: para cada partida você preenche uma cartela, os pontos seguem as odds e todas as cartelas se tornam públicas antes do apito inicial, para que ninguém possa trapacear. O antigo site em ASP clássico não conseguia oferecer o que os jogadores esperam hoje: ligas privadas com os amigos, um layout pensado para o celular e placares ao vivo. Para a Copa do Mundo de 2026, eu o reescrevi por completo.

O que eu construí

Uma nova plataforma em Node.js que mantém as regras antigas e acrescenta ligas, dados ao vivo e um pouco de diversão.

  • Cartela com 9 palpites: resultado final, primeiro tempo, gol/sem gol, menos/mais, pênaltis, intervalo/final, par/ímpar, placar exato e total de gols. As odds vêm da API-Football, com odds padrão quando não há nenhuma disponível.
  • Ligas privadas e públicas: cada liga tem sua própria classificação, banner, letreiro de notícias e chat.
  • Cartas especiais: Sesto Senso dá um bônus no placar exato, Malocchio tira pontos de outro jogador e Cornicello anula um Malocchio.
  • Fair play no código: as cartelas e as cartas dos outros jogadores ficam ocultas até a partida ser bloqueada. A regra vale também para os administradores da plataforma. Se alguém esquece de preencher a cartela, o sistema preenche uma aleatoriamente, exatamente como diziam as regras originais.
  • Partidas ao vivo: uma tarefa consulta a API-Football a cada 30 segundos e atualiza os placares durante o jogo.
  • Recursos de IA: o Claude escreve todos os dias um conjunto de palpites sugeridos; os administradores das ligas podem criar um banner com o DALL-E 3 e um pequeno jornal da liga com a OpenAI.
  • Páginas do torneio e idiomas: seleções, estádios, história, fase de grupos e chaveamento do mata-mata, em cinco idiomas, com login do Google.

Com o que foi feito

Node.js 20, Express 4, EJS, MySQL 8, Passport com Google OAuth, Nodemailer e ImapFlow, rodando no Phusion Passenger em cPanel. Lanço em pequenos passos e aumento a versão a cada vez: o código está na versão 5.1.642, build 665. As edições anteriores rodavam em ASP clássico com bancos de dados Access.

Por que foi feito assim

Os horários de início são armazenados em UTC, com um deslocamento de exibição separado. A API-Football precisa do horário UTC real para encontrar uma partida, enquanto os jogadores querem ler o horário da Itália. Manter os dois separados evita toda uma categoria de bugs em que uma partida é bloqueada uma hora antes ou depois.

Tem uma ideia?
Vamos conversar.

Seja um site, um app, um vídeo, uma música ou algo maior, estou pronto para ajudar você a realizá-lo.

Entre em contato
  • Nápoles
  • Ideias
  • Projetos
  • Pessoas
  • Sempre em frente