Ir para o conteúdo

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)

  1. internal/http/bootstrap/routes.go
  2. composição de rotas públicas/protegidas
  3. registro simultâneo de /api, /api/v1, /api/v2
  4. encadeamento de middlewares e módulos

  5. internal/modules/module_access/catalog.go

  6. catálogo canônico de módulos
  7. aliases legados -> chave canônica
  8. árvore de domínio para comunicação/pacientes/consultas/financeiro/educacional

  9. internal/modules/module_access/service.go

  10. cálculo de estado efetivo (global + override + herança por pai)
  11. snapshot por usuário

  12. cmd/api/main.go

  13. boot de dependências (DB, R2, email)
  14. CORS de segurança
  15. observabilidade global

Frontend Web (arquivos críticos)

  1. src/App.tsx
  2. aplicação de ProtectedRoute sobre appRoutes

  3. src/routes/*.tsx

  4. mapa real de features por perfil e requiredModule

  5. scripts/check-modules-architecture.sh

  6. gate de dependência entre camadas de submódulo

  7. src/components/ProtectedRoute.tsx

  8. enforcement de acesso por autenticação/papel/módulo

Mobile (arquivos críticos)

  1. src/navigation/AppNavigator.tsx
  2. árvore de rotas autenticadas e não autenticadas

  3. src/navigation/MainTabs.tsx

  4. tabs por perfil (client/professional)

  5. src/contexts/AuthContext.tsx

  6. login JWT, login Google, persistência segura de tokens

  7. src/services/api.ts

  8. 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.