Pular para o conteúdo principal

Arquitetura (resumo)

Este documento complementa ARCHITECTURE.md na raiz, com foco em como a arquitetura aparece no código do dia a dia.

Pastas principais

src/app/
(pages) Rotas/páginas (App Router)
api/ Route Handlers (/api/*) usados como proxy/integração

src/models/
services/ Chamadas HTTP, integrações e “repositórios”
types/ Tipos/DTOs
utils/ Utilitários de dados

src/controllers/
hooks/ Hooks que orquestram dados/estado (View ↔ Model)

src/views/
components/ UI reutilizável
layouts/ Layouts e composições de páginas

src/common/
helpers/ Funções utilitárias
mocks/ Payloads e helpers para mocks
constants/ Constantes de UI/domínio
i18n/ Traduções e helpers

src/presence/
useCentralPresence Socket de presença (socket.io-client)

API e proxies

O ponto central para base de API é src/config/api.ts, que resolve:

  • BACKEND_API_URL (server) → NEXT_PUBLIC_API_URL (client) → fallback

Além disso, algumas integrações legado são feitas com Route Handlers em src/app/api/* que:

  • usam URLs server-side (TERMINAIS_*_URL, GESTAO_TAXAS_PADRAO_URL)
  • devolvem mocks em desenvolvimento quando não configuradas

Detalhes de env: docs/ENV.md.