Todos os dados exibidos nos screenshots são fictícios — ambiente de demonstração.
Contexto
Sistema irmão do CIA para a mesma prefeitura, desta vez emitindo a Carteira de Identificação da Pessoa com Fibromialgia, conforme a Lei Municipal 3.726/2026. Reaproveita a mesma arquitetura e pipeline de solicitação → análise administrativa → emissão de PDF → confirmação de retirada, adaptado às particularidades legais e de documentação da condição.
Para o munícipe
- Cadastro guiado com validação de CPF/CRNM e dados de acesso antes de iniciar a solicitação.
- Atualização cadastral e consulta pública de protocolo sem necessidade de login.
- Acessibilidade nativa: painel de acessibilidade, leitor de texto (TTS), VLibras e alto contraste.
Acessibilidade (ABNT NBR 17225:2025)
O pacote de acessibilidade foi portado do CIA e ganhou uma segunda fase, focada em semântica de formulário e comportamento de reflow — ajustes que o CIA ainda não recebeu:
- Painel de acessibilidade (texto, espaçamento, movimento reduzido, alto contraste), leitor de texto, VLibras, skip links e diálogos com foco preso — mesma base do CIA.
- Rótulos associados (
htmlFor/id) em todos os campos de formulário, antes apenas visuais. - Resumo de erros focável no topo de cada etapa do assistente, recebendo foco automaticamente e listando cada campo pendente pelo nome visível.
- Grupos de opção reais (
fieldset/radio) para seleção de tipo de documento, em vez de cliques em cards decorativos. - Reflow: blocos lado a lado agora empilham em vez de cortar texto, e tamanhos em
pxforam convertidos pararempara respeitar a escala de fonte do painel. - Botão “Avançar” deixou de ficar desabilitado — o formulário explica o que falta em vez de simplesmente bloquear o avanço.
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 local de emergência |
| jsPDF + sharp (crop, rotação, brilho e contraste server-side) | |
| Nodemailer / SMTP | |
| Infra | Docker Compose, nginx (reverse proxy), GitHub Actions CI/CD |
| Acessibilidade | VLibras (GOVBR), TTS nativo, alto contraste WCAG AA, formulários acessíveis |