← Voltar ao FAQ para usuários · Abrir o Radar
Documentação para quem edita a agenda, publica no GitHub ou configura o Netlify. Usuários finais devem usar o FAQ normal e o README do repositório (versão amigável).
events.json)O radar lê os horários do arquivo events.json publicado no site. O fuso usado na lógica de aviso é o horário de Brasília.
Para editar sem mexer no JSON na mão, existe um painel desktop no repositório:
eventos_admin_gui.pyabrir_painel_eventos.bat (atalho no Windows)O painel gera backup automático ao salvar: events_backup_YYYYMMDD-HHMMSS.json (arquivos de backup costumam estar no .gitignore).
No painel, use o botão Publicar no GitHub após alterar a agenda (faz git add em events.json, commit e git push). Exige Git instalado e repositório configurado na pasta do projeto.
Rollback: antes de um deploy arriscado, faça um commit ou tag no Git (git tag snapshot-pre-deploy). Para voltar, use git revert ou restaure arquivos de um commit anterior.
O endpoint /.netlify/functions/push aceita POST com corpo no formato:
{"type":"broadcast","payload":{"title":"...","body":"..."}}
Scripts locais (sem abrir ReqBin) no repositório:
testar_broadcast_local.ps1testar_broadcast_local.battestar_broadcast_local.pyApontam para a URL de produção; falhas de entrega podem remover inscrições inválidas do armazenamento (comportamento do servidor).
deviceIdAs inscrições de push ficam no Netlify Blobs (store subscriptions). A chave do blob continua sendo derivada do endpoint do provedor de push; o valor armazenado inclui subscription, deviceId (UUID no navegador) e createdAt para facilitar suporte sem dado pessoal.
O app mostra o ID na interface e permite remover cadastro pelo próprio cliente. Inscrições antigas (só JSON da subscription) seguem funcionando até o usuário ativar de novo e gravar o novo formato.
push — inscrição, broadcast opcional, remoção por deviceIdradar — agendamento (cron); lê events.json publicado e envia avisos na janela de ~15 minutos antesVariáveis de ambiente típicas: chaves VAPID, e para o radar uso de Blobs com SITE_ID e NETLIFY_API_TOKEN conforme o código do repositório.