Projeto · 2024 → 2025
Publicidade da Cidade
Compliance de fornecedores para agências que atendem prefeituras
Portal que controla certidões fiscais, trabalhistas e cadastrais de centenas de fornecedores por cliente, consulta órgãos do governo automaticamente e publica tudo num portal de transparência conforme a Lei 12.232/2010.
Telas
O que faz
- Cadastro de fornecedores e veículos com atributos dinâmicos (EAV)
- Upload, versionamento, aprovação e validade de documentos
- Consulta automática de CND, CNDT, FGTS, CEIS, SEFAZ, TCU e JUCESP
- Renovação proativa: job diário re-consulta certidões prestes a vencer
- Fornecedor envia documento por link mágico, sem criar conta
- Portal público por prefeitura com ISR e transparência financeira
Stack
- Python 3.11
- Django 5.2
- Graphene
- GraphQL
- PostgreSQL
- django-tenants
- Celery
- Redis
- AWS S3
- React 19
- MUI 7
- Apollo Client
- Next.js 15
- Tailwind v4
- GitHub Actions
- ECS Fargate
- Vercel
Backend, dashboard e portal público
Desafios técnicos
Onde o problema resistiu.
Schema por prefeitura
django-tenants com resolução pelo header X-Tenant-ID, Celery tenant-aware, S3 com prefixo por tenant e middleware de subdomínio no Next.js.
Certidões assíncronas
Cada órgão tem API, formato e campo de validade diferentes. Tudo normalizado em um ciclo pending → querying → success/error, com status derivado via dataloaders.
Filtros dinâmicos sobre EAV
Atributos configuráveis compilados em Exists() por atributo, gerando filtros em tempo de execução no dashboard e no portal.
GraphQL no padrão Saleor
Conexões Relay, dataloaders por módulo, permissões declarativas, upload multipart e sistema de plugins encadeados.
Upload anônimo seguro
Token de uso único, validação de tipo, tamanho e datas, quarentena até aprovação. Falha de e-mail nunca bloqueia a operação.
Operação enxuta
Worker Celery com beat embutido e limite de memória para rodar em infra pequena, com pipeline alternativo para ECS Fargate.