pgx
PGX — Lightweight Postgres for AI agents. Written in Rust. Thousands of isolated databases in one runtime. 🐘
Translation pending
Monitorar a climatização de 512 escolas de Fortaleza com mapa e status de execução
Translation pending
AI summary · website and README
DataJavaScript · CSSGitHub @climatizacao-sme-fortalezaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Dashboard estático de acompanhamento da climatização das unidades escolares da rede municipal de Fortaleza, da Secretaria Municipal da Educação (SME) / COINF. Mostra, num mapa interativo (Leaflet) com drill-down (Fortaleza → Distrito → Regional → Bairro), o status de execução de cada uma das 512 unidades, além de indicadores de salas climatizadas, investimento, cobertura, subestação/estudo elétrico e a ficha por unidade. É 100% front-end estático: HTML + CSS + JavaScript puro, sem build nem framework. Os dados entram como que populam variáveis globais (window.ESCOLAS, window.EXECUCAO, etc.).Read the full README ↗
Dashboard estático de acompanhamento da climatização das unidades escolares da rede municipal de Fortaleza, da Secretaria Municipal da Educação (SME) / COINF.
Mostra, num mapa interativo (Leaflet) com drill-down (Fortaleza → Distrito → Regional →
Bairro), o status de execução de cada uma das 512 unidades, além de indicadores de
salas climatizadas, investimento, cobertura, subestação/estudo elétrico e a ficha por
unidade. É 100% front-end estático: HTML + CSS + JavaScript puro, sem build nem
framework. Os dados entram como <script> que populam variáveis globais (window.ESCOLAS,
window.EXECUCAO, etc.).
Servidor estático em PowerShell (Windows), porta 8123:
powershell -ExecutionPolicy Bypass -File serve.ps1 -Port 8123
Depois abra http://localhost:8123/.
serve.ps1 serve a pasta web/ (parâmetros: -Port padrão 8123, -Root padrão web/).python -m http.server 8123 dentro de web/).
O importante é servir a pasta web/ por HTTP — abrir o index.html via file:// quebra
os fetch/carregamentos..claude/launch.json (alvo portal, porta 8123).portal/
├── web/ # a aplicação (tudo que vai pro navegador)
│ ├── index.html # estrutura da página (single page)
│ ├── styles.css # CSS principal do portal
│ ├── fortaleza-design-system.css # tokens/classes institucionais PMF (importado antes do styles.css)
│ ├── app.js # toda a lógica (mapa, ficha, filtros, funil, balão, subestação)
│ ├── assets/ # imagens (ex.: brasão oficial quando chegar)
│ └── data/ # dados como JS (carregados por <script>)
│ ├── dados.js # ESCOLAS / EXECUCAO / DIAGNOSTICO / OS (base principal)
│ ├── bairros.js · bairros_areas.js · distritos.js · regionais.js # geojson (geografia)
│ ├── subestacao.js # subestação por SGE (ficha)
│ ├── mapa_sub.js # SGE → CATEGORIA (mapa de subestação)
│ ├── salas_prof.js # SGE → status da sala dos professores (rosca de salas)
│ └── etapa02.js # SGE → status instalação etapa 02 (fantasma da rosca)
│
├── serve.ps1 # servidor estático local (porta 8123)
├── build.ps1 # gera os web/data/*.js a partir dos CSV/planilhas
├── xlsx2csv.ps1 # converte as planilhas .xlsx em CSV intermediário
├── geocode.ps1 # geocodifica endereços (Nominatim/OpenStreetMap, sem chave)
├── writeback.ps1 # escreve dados de volta para planilha
│
├── .claude/
│ ├── launch.json # config de preview (servidor portal:8123)
│ └── skills/identidade-pmf/ # skill da identidade visual PMF/SME (versionada)
│
├── AUDITORIA.md · DESIGN_SYSTEM.md · ANTES_DEPOIS.md # referência de identidade/mudanças
└── README.md
A fonte primária é a planilha mestra no Google Sheets (base da SME/COINF), aba
BASE MESTRA (512). Ela não está no repositório.
tools/importa_mestra.py → web/data/*.js (versionados).web/data/*.js, que estão no git. Ou seja: após git clone, o portal roda direto..xlsx baixado — e não grava nada se o portão de validação reprovar:python tools/importa_mestra.py "CAMINHO/PLANILHA.xlsx" web/data # ensaio
python tools/importa_mestra.py "CAMINHO/PLANILHA.xlsx" web/data --gravar # grava
python tools/importa_mestra.py --sheet <ID> web/data --gravar # ao vivo
.github/workflows/atualiza-dados.yml faz isso sozinho de hora em hora.
Configuração e regras em tools/ROBO.md.build.ps1, xlsx2csv.ps1, geocode.ps1,
writeback.ps1) são do fluxo anterior, baseado em .xlsx local com caminhos fixos.
Ficam por referência histórica; quem gera os dados hoje é o tools/importa_mestra.py.Regra do projeto: nunca editar
web/data/*.jsà mão — eles são gerados. Ajustes de dado se fazem na planilha mestra + regeneração.
A pele segue a identidade institucional da Prefeitura de Fortaleza / Secretaria da Educação (fonte Montserrat, laranja #F15A22, verde #009889, azul #00A0DC, petróleo #325565).
.claude/skills/identidade-pmf/SKILL.md
— tokens oficiais, componentes (masthead, botões, status, rodapé) e regras de ouro.web/fortaleza-design-system.css (variáveis --fz-*) e o bloco :root
do web/styles.css (--laranja, --verde, --azul, --fonte-ui, --cor-2025/2026, etc.).AUDITORIA.md (extração do Portal da Educação), DESIGN_SYSTEM.md
(manual resumido) e ANTES_DEPOIS.md (o que mudou em cada rodada).Ao mexer em qualquer parte visual, usar sempre as variáveis (nunca hex solto) e seguir a skill
identidade-pmf. Brasão: usar só o vetor oficial — hoje há um placeholder tipográfico no rodapé até a Comunicação da SME enviarweb/assets/brasao-branco.svg.
ESCOLAS inteiro; só a busca
textual filtra. Conferido em 28/09/2026.Contagens conferidas no registro publicado em 28/09/2026.
ETAPA.SEINF,
PENDENTE ELÉTRICA, PRONTA) onde deveria haver número.DATA DIAGNÓSTICO/VISITA e DIAGNÓSTICO — 173 e 111 unidades preenchidas;
o robô passou a ler as duas colunas e a ficha já as mostra. (11/09/2026)TEM EXECUÇÃO — preenchida nas 512.STATUS A.S. CIVIL e O.S. (Nº) — continuam vazias.TEM/FALTA) — opcional; hoje é derivada de
status ≥ 2, o que faz o estudo mudar sozinho quando alguém mexe no status.A equipe levantou por telefone os ambientes já climatizados de cada escola e a Luana está lançando na mestra em levas. A primeira entrou em 28/09/2026: 123 unidades, +348 salas, e o percentual foi de 44,6% para 49,0%. A conferência completa fica para quando ela concluir — achados até agora no quadro de pendências.
Concluído nesta rodada: carga da base mestra, salas medidas, execução regenerada, mapa de subestação recalculado, faixa de indicadores reorganizada em 5 cards, bloco de orçamento na ficha, carimbo de data no rodapé e o robô de atualização. O item "Panorama: 6 → 4 cards" saiu da lista: hoje são 5, por pedido da gestão.
web/* e recarregar o navegador.Portal Climatizacao <portal@local>.