Arquitetura
Documento humano. A arquitetura-alvo detalhada (com diagramas e ADRs) vive em
.claude/docs/architecture.mde.claude/docs/decisions.md. Esta página resume para o time.
Princípios
- API-first — contrato (OpenAPI) antes da implementação; renderizado no Scalar.
- Multiorganização em tudo —
orgIdem dados, tokens e (futuramente) eventos/logs. - Stateless — serviços escalam por réplicas; estado em PostgreSQL/Redis.
- Configuração > código — integrações e regras de negócio configuráveis (alvo).
- Orientado a eventos — extensão por novos consumidores (adoção incremental).
Estado atual vs alvo
- Hoje: um backend NestJS modular (módulos por bounded context) + Next.js + Docs,
tudo em containers. Isolamento por organização via
orgIdna aplicação. - Alvo: extração de módulos em microsserviços, RLS no PostgreSQL, Kafka + outbox para eventos, observabilidade completa (OpenTelemetry). Adotado por etapas conforme o volume.
Módulos (bounded contexts)
- Identity & Access — organizações, usuários, papéis/permissões (RBAC), empresas/equipes.
- Commercial — clientes, produtos, preços, pagamentos, pedidos (planejado).
- Integration Platform — fontes, conectores REST, auth plugável, sync (planejado).
- Order Processing — pipeline pré/pós + engine de regras (planejado).
Multiorganização
orgId em toda tabela de negócio. Chaves únicas compostas com orgId
(ex.: (orgId, email)). A organização é resolvida a partir do token e, na evolução, será
imposta por Row-Level Security no banco.
Execução / escala
Tudo containerizado (Docker). Serviços stateless → escalam horizontalmente atrás de um
load balancer. docker-compose para dev; pronto para Kubernetes.