Contexto
O MORACIA digitaliza todo o ciclo de emissão da Carteira de Identificação do Autista — desde o cadastro online pelo munícipe, passando pela análise administrativa, até a geração da carteirinha em PDF e confirmação de retirada presencial.
A solução substitui um processo manual baseado em papel, e-mail e planilhas por um pipeline auditável com notificações automáticas em cada etapa.
Para o munícipe
- Cadastro guiado com validação prévia de CPF/CRNM (evita duplicatas).
- Suporte a responsável legal para menores ou pessoas sob curatela.
- Acompanhamento sem login — consulta pública por documento, exibe status, protocolo, prazos e local de retirada.
- Renovação a cada 5 anos e reimpressão por perda/dano com protocolos próprios (
REN-YYYY-NNNNN,REI-YYYY-NNNNN). - Acessibilidade nativa: leitor de texto (TTS), VLibras e modo alto contraste WCAG AA.
Para o administrador
- Dashboard com filtros por status, busca textual, paginação server-side e badges informativos (atraso, prazo legal de 15 dias, validade vencendo).
- Tela de análise com edição inline, checklist de documentos e laboratório de foto 3x4 (crop, rotação, brilho, contraste).
- Aprovação atômica: botão “Aprovar e Imprimir” só fica disponível quando todos os documentos obrigatórios estão aprovados.
- Auditoria: todas as ações registradas (login, mudança de status, upload, aprovação/reprovação) com busca por usuário/protocolo.
- Autenticação LDAP/AD da prefeitura, com login de emergência local quando o LDAP está indisponível.
Stack
| Camada | Tecnologia |
|---|---|
| Frontend | React 19 + TypeScript 5, Vite, TailwindCSS 4, React Router 7 |
| Backend | Express 5 + TypeScript, PostgreSQL 16, JWT, Multer, Winston |
| Auth | bcrypt (munícipes) + LDAP/AD (admins) + login de emergência |
| jsPDF + sharp (crop, rotação, brilho e contraste server-side) | |
| Nodemailer / SMTP (notificações por etapa do processo) | |
| Infra | Docker Compose, nginx (reverse proxy + HTTPS), GitHub Actions CI/CD |
| Acessibilidade | VLibras (GOVBR), TTS nativo, modo alto contraste WCAG AA |
Destaques técnicos
- Pipeline de status auditado: cada transição é validada por regra de negócio e registrada em log.
- Geração de PDF server-side com
jsPDF + sharp— layout85.5mm × 54mmfiel à carteira física. - E-mails em cada etapa (confirmação, reprovação com motivos, agendamento, carteirinha pronta, PDF anexado).
- Schema SQL versionado aplicado automaticamente no
docker-entrypoint-initdb.d.