C4 - Nível 4 (Código)¶
Objetivo¶
Mapear arquivos de código que materializam decisões arquiteturais críticas e devem ser lidos antes de mudanças estruturais.
Backend (arquivos críticos)¶
internal/http/bootstrap/routes.go- composição de rotas públicas/protegidas
- registro simultâneo de
/api,/api/v1,/api/v2 -
encadeamento de middlewares e módulos
-
internal/modules/module_access/catalog.go - catálogo canônico de módulos
- aliases legados -> chave canônica
-
árvore de domínio para comunicação/pacientes/consultas/financeiro/educacional
-
internal/modules/module_access/service.go - cálculo de estado efetivo (global + override + herança por pai)
-
snapshot por usuário
-
cmd/api/main.go - boot de dependências (DB, R2, email)
- CORS de segurança
- observabilidade global
Frontend Web (arquivos críticos)¶
src/App.tsx-
aplicação de
ProtectedRoutesobreappRoutes -
src/routes/*.tsx -
mapa real de features por perfil e
requiredModule -
scripts/check-modules-architecture.sh -
gate de dependência entre camadas de submódulo
-
src/components/ProtectedRoute.tsx - enforcement de acesso por autenticação/papel/módulo
Mobile (arquivos críticos)¶
src/navigation/AppNavigator.tsx-
árvore de rotas autenticadas e não autenticadas
-
src/navigation/MainTabs.tsx -
tabs por perfil (
client/professional) -
src/contexts/AuthContext.tsx -
login JWT, login Google, persistência segura de tokens
-
src/services/api.ts - configuração base de API + interceptors
Invariantes em nível de código¶
- Regra de negócio sensível permanece no backend.
- Frontend web mantém fluxo de camada unidirecional por submódulo.
- Mobile não deve divergir de contrato backend sem versionamento/documentação explícita.