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.