Gerasena.com é uma aplicação completa para geração e análise de jogos da Mega‑Sena. O projeto é baseado em Next.js e combina uma interface web com APIs e scripts que processam os resultados oficiais da loteria.
- Geração de jogos
- Manual: o usuário escolhe características estatísticas (soma, média, frequência histórica etc.) e o sistema cria combinações a partir desses critérios.
- Automática: o módulo
analyzeHistoricousa TensorFlow.js para analisar os últimosQTD_HISTsorteios (padrão 200) anteriores ao concurso informado (ou os últimos disponíveis) e gerar combinações automaticamente. O treinamento agora utiliza uma semente fixa e validação interna para reduzir variação entre execuções. O número do último concurso é obtido e passado comobeforetanto para a análise quanto para a consulta em/api/historico, evitando que o sorteio previsto participe do treinamento ou de comparações. - As combinações são avaliadas (
evaluator.ts) e salvas na tabelageradordo banco de dados.
- Consulta de resultados
- Página de histórico com os últimos concursos e possibilidade de paginação via
/api/historico. - Página de estatísticas que cruza os jogos gerados com resultados reais por meio de
/api/stats.
- Página de histórico com os últimos concursos e possibilidade de paginação via
- Armazenamento
- Utiliza libSQL/Turso para persistir sorteios (
history) e jogos gerados (gerador). - Arquivo
public/mega-sena.csvserve como fonte inicial para preencher o banco.
- Utiliza libSQL/Turso para persistir sorteios (
As páginas de geração (/automatico e /manual) e a API aceitam os
parâmetros populationSize e generations para configurar o algoritmo.
populationSize determina quantos jogos compõem a população inicial e
generations define quantos ciclos de evolução serão executados. O tempo de
execução cresce aproximadamente com populationSize * generations; valores
muito altos (acima de ~500 indivíduos ou dezenas de gerações) podem tornar o
processo lento, especialmente no navegador. Recomenda‑se limitar a população a
no máximo 10 000 jogos e usar quantidades moderadas de gerações.
npm run scrape:mega-senabaixa do serviço da Caixa o CSV mais recente com os sorteios.scripts/mega-sena-cron.jsagenda a atualização diária do CSV e da tabelahistory.npm run seed:tursocria as tabelas necessárias e carrega os dados iniciais no banco.npm run seed:historyrepopula a tabelahistorya partir do CSV existente./api/cronexpõe uma rota que lê o CSV e popula o banco em ambientes serverless.
-
Configure as variáveis de ambiente
TURSO_DATABASE_URLeTURSO_AUTH_TOKENpara apontar para sua instância do Turso. -
Instale as dependências:
npm install
-
Execute o servidor de desenvolvimento:
npm run dev
-
Acesse http://localhost:3000 para utilizar a aplicação.
npm run scrape:mega-sena– baixa os resultados mais recentes da Mega‑Sena.npm run seed:turso– cria as tabelas e popula a base de dados inicial.npm run seed:history– preenche a tabela de histórico a partir do CSV.npm run lint– verifica o código com ESLint/Next.
O projeto está preparado para ser implantado na Vercel. Outras opções de deploy podem ser configuradas conforme a documentação do Next.js.