Desenvolvimento
Stack
- Next.js (App Router)
- React 19 + TypeScript
- Tailwind CSS
- Jest + Testing Library
- ApexCharts
- socket.io-client (presença)
Organização em camadas (MVC no front)
Este repo adota uma separação pragmática:
src/models/: tipos, DTOs, serviços (chamadas à API), utilitários de dadossrc/controllers/: hooks e orquestração de estado (conecta View ↔ Model)src/views/: componentes e layouts (camada de apresentação)src/app/: rotas/páginas do Next +route.ts(APIs/api/*)
Mais detalhes: ARCHITECTURE.md e docs/ARCHITECTURE.md.
Mocks
Existem dois tipos principais de mock:
- Mocks server-side em dev nas rotas
/api/*quando a URL do legado não está configurada.- Ex.:
GET /api/terminais/locaisdevolve mocks seTERMINAIS_LISTAR_URLnão existir eNODE_ENV=development.
- Ex.:
- Mocks no client habilitados por env em alguns hooks.
- Ex.:
NEXT_PUBLIC_USE_DASHBOARD_MOCK="true",NEXT_PUBLIC_USE_TERMINAIS_MOCK="true".
- Ex.:
Rotas /api/* (proxies)
O app implementa proxies server-side para:
- autenticação (
/api/auth/login) - integrações legado PHP (terminais, gestão de taxas, etc.)
Motivos:
- evita CORS no browser
- permite configurar URLs em runtime no servidor/contêiner
- ajuda a propagar cookies/sessão quando necessário
Padrões de import
O projeto usa alias @/ (ver tsconfig.json) apontando para src/.
Logs em desenvolvimento
Alguns módulos possuem logs guardados por NODE_ENV !== "production". Em produção, evite logar payloads sensíveis.