Infraestrutura self-hosted, resiliente e enterprise-ready para o consumo de dados públicos brasileiros.
A CerneBR é uma iniciativa brasileira de engenharia de plataforma cujo propósito é eliminar, de forma definitiva, a fricção operacional que toda empresa enfrenta ao consumir dados públicos brasileiros — CEP, CNPJ, FIPE, IBGE, Bancos, Calendário Nacional de Feriados, Placas Veiculares, indicadores de Saúde Pública (DATASUS / SISAB / CNES), entre outros.
Construímos um API Gateway nacional self-hosted que blinda aplicações corporativas das patologias crônicas dos provedores oficiais: rate limits agressivos, quedas em cascata, formatos divergentes e latência imprevisível. Nossa stack foi desenhada com tolerância zero a indisponibilidade — cada decisão arquitetural prioriza throughput, observabilidade e previsibilidade sob falha.
Nossa premissa: dados públicos brasileiros devem ser tão confiáveis quanto qualquer dependência interna de produção. Você consulta um endpoint local; o resto é problema nosso.
| Repositório | Stack | Papel |
|---|---|---|
gateway-nacional |
Java 25 · Spring Boot 4 · Redis · Resilience4j | Backend. Motor de cascata, cache, circuit breakers e sidecars de scraping (FIPE, DATASUS, Placas). |
gateway-nacional-web |
Next.js 16 · React 19 · TypeScript · Tailwind CSS 4 | Portal e documentação viva. DX premium, playground interativo, OpenAPI render. |
- Java 25 com Virtual Threads (JEP 444) para concorrência massiva com footprint mínimo de memória.
- Spring Boot 4.0 + Spring Cloud 2025.1 + Spring WebMVC.
- Resilience4j (Circuit Breaker isolado por upstream) + Bucket4j (rate limiting distribuído via Redis/Lettuce).
- HedgedExecutor — requisições paralelas a múltiplos provedores, vence o primeiro a responder.
- RefreshAheadCache (RAC) — TTL inteligente com revalidação assíncrona em background.
- Redis 7 para cache distribuído e backend do rate limiter.
- SQLite embarcado (driver Xerial) para ETLs leves (ex.: SIGTAP).
- Testcontainers + WireMock para testes de integração com infraestrutura real.
- Micrometer / Prometheus para observabilidade nativa.
- SpringDoc OpenAPI 3 para documentação interativa.
- Jsoup + sidecars FlareSolverr e Selenium (SISAB) para domínios que exigem scraping de fontes governamentais.
- Next.js 16 (App Router) + React 19 + TypeScript 5.
- Tailwind CSS 4 + shadcn + Base UI + Framer Motion.
- Vitest (unitário) + Playwright (E2E e regressão visual).
- Husky + lint-staged + Prettier + ESLint com
eslint-config-next. - Vercel Analytics + Speed Insights.
- Tolerância zero a indisponibilidade. Cada provedor externo é isolado por circuit breaker; falhas nunca vazam para o cliente.
- Package by Feature. Cada domínio (CEP, CNPJ, FIPE, Saúde…) é autocontido e extraível como microserviço.
- Anti-Corruption Layer obrigatório. Schemas de upstreams nunca cruzam o limite do client; mudanças no provedor não propagam para serviços.
- Observabilidade nativa. Métricas (
gateway.provider.requests,gateway.provider.latency) com tagsdomain,provider,outcome. - Testes de integração reais. Testcontainers + WireMock — nada de mocks superficiais.
Contribuições são bem-vindas e seguem um padrão enterprise estrito. Antes de abrir um Pull Request:
- Leia o Guia de Contribuição e o Código de Conduta.
- Consulte a Política de Segurança se sua contribuição tocar superfícies sensíveis (autenticação, scraping, persistência).
- Abra uma Issue descrevendo o problema antes de codar mudanças não triviais — economiza tempo de ambos os lados.
- Siga Conventional Commits e o checklist do Pull Request Template.
Quer apenas reportar um bug ou pedir uma feature? Use os formulários estruturados em qualquer um dos nossos repositórios — eles guiam você a fornecer exatamente as informações que precisamos.
- 🌐 Portal oficial: cernebr.dev.br
- 💬 Discussões técnicas: GitHub Discussions
- 🐛 Bugs e Features: abra uma Issue nos repositórios correspondentes
- 🔒 Vulnerabilidades: consulte a Política de Segurança — nunca abra Issue pública
- 📧 Contato corporativo:
[email protected]
Construído com rigor de engenharia para que a infraestrutura de dados públicos brasileiros seja, finalmente, previsível.
© CerneBR · Distribuído sob a Licença Apache 2.0