ADR 0003 — MVC no frontend
Status
Aceito.
Contexto
A SPA cresceu com pastas especializadas (directories, theme, presence). Sem uma regra, HTTP e regras de domínio misturam-se nas views.
Decisão
Organização inspirada em MVC:
models— tipos e services HTTPviews— páginas e blocos de UIcontrollers— hooks que orquestram formulários e fluxosdomain— mappers/regras sem React e sem fetch
Áreas grandes (governança, sistemas) ficam em pastas próprias, mas continuam a chamar services.
Consequências
- Novo endpoint →
src/models/services/<área>/ - Novo tipo →
src/models/types/ - Não criar pasta
middleware; usarapi/+auth/+ProtectedRoute