Skip to content

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.

RegraDescrição
Sem dados estáticosNenhum dado de negócio deve ser definido diretamente no código
APIs obrigatóriasToda listagem, filtro ou visualização deve consumir dados de uma API
Mocks obrigatóriosAo criar novas features, sempre criar os mocks correspondentes
Services obrigatóriosToda chamada de API deve passar por um service no módulo correspondente
IDs são UUIDsTodos 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/SSR

Nota: Para especificações de API, consulte docs/api/.


Ao criar uma nova feature

  1. Criar os tipos no domain: src/domain/[modulo]/types.ts
  2. Criar constantes se necessário: src/domain/[modulo]/constants.ts
  3. Criar dados mockados: src/mocks/data/[modulo].ts
  4. Criar handlers MSW: src/mocks/handlers/[modulo].ts
  5. Registrar handlers em: src/mocks/handlers/index.ts
  6. Criar service: src/modules/[modulo]/services/[modulo].ts
  7. 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