尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证🇧🇷 Resultado, replay e análise da eleição presidencial de 2026 com dados oficiais do TSE: mapa por estado e município, evolução da apuração e timelapse. Site estático em Next.js no GitHub Pages.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Resultado, replay e análise da eleição presidencial brasileira de 2026, com os dados oficiais do TSE preservados e publicados como site estático.
[!NOTE] Todos os resultados, fotos, sons, animações, malhas e fontes usados pelo site são locais. O build e os acessos não consultam o TSE, o IBGE nem o Google.
output: "export"), React 19 e TypeScriptnode --test) e ESLintgit clone https://github.com/guichafy/brazilian-presidential-elections.git
cd brazilian-presidential-elections
npm ci
npm run dev
Abra http://localhost:3000. Os dados já estão versionados, então não é preciso internet nem executar o gravador.
npm run build
npm run verify:export
npm run preview
O build gera out/, que pode ser servido por qualquer servidor estático. O preview serve exclusivamente esse conteúdo em http://localhost:3000; next start não é usado. PORT=3001 npm run preview altera a porta.
Para simular a URL de projeto do Pages (/<repositorio>/), use o mesmo prefixo no build e no preview:
NEXT_PUBLIC_BASE_PATH=/brazilian-presidential-elections npm run build
NEXT_PUBLIC_BASE_PATH=/brazilian-presidential-elections npm run verify:export
NEXT_PUBLIC_BASE_PATH=/brazilian-presidential-elections npm run preview
| Variável | Padrão | Uso |
|---|---|---|
TSE_ELEICAO | 6258 | Código da eleição: 6258 (2º turno) ou 6257 (1º turno). O site publicado usa o 2º turno. |
NEXT_PUBLIC_BASE_PATH | vazio | Prefixo de URL. Vazio para domínio próprio ou <usuario>.github.io. |
PORT | 3000 | Porta do npm run preview. |
| Comando | Descrição |
|---|---|
npm run dev | Servidor de desenvolvimento |
npm run build | Exporta o site estático para out/ |
npm run verify:export | Confere HTML, URLs, timelines, fotos e demais recursos do artefato |
npm run preview | Serve out/ localmente |
npm test | Testes unitários (tests/*.test.mjs) |
npm run lint | ESLint |
npm run archive | Recaptura resultados e fotos do TSE ⚠️ requer internet |
npm run archive:municipios | Recaptura resultados por município ⚠️ requer internet |
npm run archive:malhas | Recaptura as malhas municipais do IBGE ⚠️ requer internet |
npm run recorder | Gravador de snapshots usado durante a apuração ao vivo |
| Arquivo | Conteúdo |
|---|---|
data/resultados-6257.json / resultados-6258.json | Respostas brutas completas do TSE: Brasil, 27 UFs e exterior, com data de captura e fonte |
data/municipios-6257.json / municipios-6258.json | Resultado compacto por município, conferido contra a soma de cada UF |
data/malhas/<uf>.json | Malhas municipais do IBGE, simplificadas para o mapa |
data/snapshots-<eleicao>.jsonl | Histórico gravado durante a apuração; não é substituído pela captura final |
data/eleitorado-<eleicao>.json | Eleitorado por abrangência usado na projeção |
data/referencia-2022-2t.json | Série histórica nacional do 2º turno de 2022 (preservada; não exibida na interface atual) |
data/audio-vitoria.json / audio-suspense.json | Origem, recorte e SHA-256 dos áudios |
public/fotos/<eleicao>/<sqcand>.jpeg | Fotos dos candidatos |
O TSE não disponibiliza a evolução da apuração de forma retrospectiva: os snapshots gravados são a única fonte do histórico e devem ser preservados.
[!WARNING] Os comandos abaixo substituem os arquivos versionados. Eles nunca são chamados pelo build ou pelo deploy. Execute-os apenas quando quiser atualizar o arquivo e revise o diff antes de versionar.
Rode nesta ordem, pois cada etapa confere a anterior:
npm run archive # resultados e fotos (ou: npm run archive -- 6258)
npm run archive:municipios # depende de data/resultados-<eleicao>.json
npm run archive:malhas # depende de data/municipios-<eleicao>.json
A captura exige finalização nacional, todas as seções contadas e totais consistentes. Depois de uma retotalização, npm test e npm run verify:export rejeitam divergências entre os snapshots e o resultado arquivado.
Mais detalhes:
tf.O workflow deploy-pages.yml instala as dependências pelo lockfile, executa lint e testes, exporta o site, verifica o artefato e publica no environment github-pages.
main ou execute o workflow manualmente.O prefixo de URL vem de actions/configure-pages, então funciona em /<repositorio>/ e com domínio próprio. Pull requests executam validação e build, sem publicar. O deploy usa apenas o GITHUB_TOKEN e OIDC, sem secrets adicionais.
Versione data/, public/, src/app/fonts/, o código e o lockfile. Não versione out/, .next/ nem node_modules/: o Actions gera out/ e o envia como artefato do Pages.
.
├── data/ # capturas do TSE, snapshots, municípios e malhas
├── docs/ # documentação técnica e screenshots
├── public/ # fotos, sons e animações Lottie
├── scripts/ # captura de dados, gravador, preview e verificação
├── src/
│ ├── app/ # página, layout e rotas JSON exportadas em dados/
│ ├── components/ # mapa, placar, gráficos, timelapse, tutorial e áudio
│ └── lib/ # transformação dos dados do TSE, replay e utilitários
└── tests/ # testes com node --test
| Caminho | Responsabilidade |
|---|---|
src/lib/static-data.ts | Lê o arquivo local e calcula resultado, comparações e timelines no build |
src/lib/tse.ts | Tipos e transformação das respostas brutas do TSE |
src/lib/replay.ts | Restaura contagens históricas sem antecipar resultados nem modificar o arquivo final |
src/lib/assets.ts | Aplica o prefixo de hospedagem aos assets locais |
src/app/page.tsx | Gera o HTML inicial com resultado e timeline nacional |
src/app/dados/timeline/[arquivo]/route.ts | Exporta a timeline de cada abrangência em JSON |
src/app/dados/municipios/[arquivo]/route.ts | Exporta os municípios de cada UF em JSON |
src/app/dados/replay.json/route.ts | Exporta os snapshots compactos e os índices de cada ciclo para o slider |
scripts/archive-*.mjs | Captura explícita de resultados, fotos, municípios e malhas |
scripts/verify-export.mjs | Validação do artefato exportado |
data/audio-*.json.Este é um projeto independente, sem vínculo com o TSE, partidos ou candidatos.
O código-fonte está sob a licença MIT.
Materiais de terceiros incluídos no repositório não são cobertos por essa licença e pertencem aos seus titulares: dados e fotos do TSE, malhas do IBGE, áudios em public/sons/ e docs/prototypes/assets/, animações em public/lottie/, a arte do TSE usada como ícone do site e a fonte Inter (SIL OFL 1.1).