Appearance
Data & APIs - Regras de Dados
Nenhum Dado Hardcoded
IMPORTANTE: Dados NUNCA devem ser hardcoded na aplicação. Toda informação exibida deve vir de APIs.
| Regra | Descrição |
|---|---|
| Sem dados estáticos | Nenhum dado de negócio deve ser definido diretamente no código |
| APIs obrigatórias | Toda listagem, filtro ou visualização deve consumir dados de uma API |
| Mocks obrigatórios | Ao criar novas features, sempre criar os mocks correspondentes |
| Services obrigatórios | Toda chamada de API deve passar por um service no módulo correspondente |
| IDs são UUIDs | Todos os IDs devem usar formato UUID |
Estrutura de Mocks (MSW)
O projeto usa MSW (Mock Service Worker) para interceptar requisições HTTP durante desenvolvimento.
src/mocks/
├── data/ # Dados mockados
│ ├── templates.ts # Templates e PDFs recentes
│ ├── workflows.ts # Workflows com configurações
│ └── ...
├── handlers/ # Handlers MSW por módulo
│ ├── templates.ts # Handlers de templates
│ ├── workflows.ts # Handlers de workflows
│ └── index.ts # Exporta todos os handlers
├── browser.ts # Setup para browser
└── server.ts # Setup para Node/SSRNota: Para especificações de API, consulte
docs/api/.
Ao criar uma nova feature
- Criar os tipos no domain:
src/domain/[modulo]/types.ts - Criar constantes se necessário:
src/domain/[modulo]/constants.ts - Criar dados mockados:
src/mocks/data/[modulo].ts - Criar handlers MSW:
src/mocks/handlers/[modulo].ts - Registrar handlers em:
src/mocks/handlers/index.ts - Criar service:
src/modules/[modulo]/services/[modulo].ts - Consumir via store ou composable
Regras de IDs
- Todos os IDs devem ser UUIDs no formato:
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx - IDs de steps seguem o padrão:
step-{key}-{timestamp}-{index} - IDs de grupos seguem o padrão:
group-{timestamp}ou UUID