API de cursos, vagas e empregabilidade
O backend em Go por trás das inscrições em cursos e das vagas de emprego do SuperApp.
Meu papel
Maior contribuidor do repositório (298 de 721 commits) e code owner.
- #1
- em commits no repositório
- 97%
- das respostas abaixo de 100 ms sob carga
- 474
- req/s de pico sem erros
Problema
Cursos da Prefeitura, vagas de emprego, oportunidades para MEI, currículos e candidaturas, cada secretaria gerindo o que é seu e com regras de acesso diferentes.
Solução
API em Go (Gin, GORM, PostgreSQL, Redis) com um módulo de empregabilidade completo, que cobre currículos, vagas, candidaturas e critérios de elegibilidade configuráveis por vaga.
Destaques
- Autorização em camadas. O JWT é validado no Istio, os papéis vêm do Heimdall, as políticas finas ficam no Cerbos e a posse é checada por secretaria e órgão.
- Workers que sincronizam dados do cidadão e das secretarias, com lock distribuído no Redis para rodar num pod só.
- Canary em produção (10% → 100% em etapas) com análise automática da taxa de sucesso no Prometheus, e blue-green em staging.
- CI com testes -race, teto de queda de cobertura, golangci-lint, Hadolint e Trivy.
Resultado
É a API que atende as inscrições do SuperApp. No teste de carga, 97% das respostas ficaram abaixo de 100 ms e o pico foi de 474 req/s, sem erro.