Pular para o conteúdo principal

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 HTTP
  • views — páginas e blocos de UI
  • controllers — hooks que orquestram formulários e fluxos
  • domain — 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; usar api/ + auth/ + ProtectedRoute