- Marcelo Areco reviewers: [] created: 2026-07-02 updated: 2026-07-02 tags:
- ddd
- context-map
- architecture
Context Map¶
Objetivo¶
O Context Map descreve como os Bounded Contexts da CoreFlow Platform se relacionam entre si.
Seu objetivo é definir dependências, contratos, fluxos de comunicação e responsabilidades, preservando o baixo acoplamento entre domínios.
Visão Geral¶
flowchart LR
Core((Core))
CRM
ERP
Finance
RH
WMS
BI
Service
AI
Core --> CRM
Core --> ERP
Core --> Finance
Core --> RH
Core --> WMS
Core --> BI
Core --> Service
Core --> AI
CRM --> Finance
CRM --> AI
CRM --> Notifications
ERP --> Finance
ERP --> WMS
ERP --> Notifications
RH --> Notifications
Finance --> BI
Service --> CRM
AI --> Core
Core¶
Fornece serviços compartilhados para toda a plataforma.
Não depende de nenhum produto.
Responsável por:
- Authentication
- Users
- Companies
- RBAC
- Audit
- Notifications
- Files
- Integrations
- AI Gateway
CRM¶
Consome:
- Authentication
- Users
- Companies
- RBAC
- Files
- Notifications
Expõe:
- Leads
- Contacts
- Accounts
- Opportunities
- Activities
ERP¶
Consome:
- Core
- Finance
- Notifications
Expõe:
- Products
- Inventory
- Purchases
- Sales
- Fiscal
Finance¶
Consome:
- Core
Recebe eventos de:
- CRM
- ERP
- RH
Produz indicadores para:
- BI
RH¶
Consome:
- Core
Publica:
- Eventos de Funcionários
- Eventos de Folha
- Eventos de Benefícios
WMS¶
Consome:
- ERP
Publica:
- Movimentações
- Inventário
- Expedição
BI¶
Não altera dados.
Consome informações de todos os contextos para geração de indicadores.
Service¶
Relaciona-se principalmente com:
- CRM
- Users
- Notifications
AI¶
Consome contexto de todos os módulos.
Nunca acessa diretamente tabelas de outro contexto.
Toda comunicação ocorre através de:
- APIs
- Serviços
- Eventos
- RAG
Tipos de Relacionamento¶
| Relação | Descrição |
|---|---|
| Shared Kernel | Compartilhamento controlado |
| Customer/Supplier | Dependência entre contextos |
| Conformist | Consome contrato existente |
| ACL | Anti-Corruption Layer |
| Open Host Service | APIs públicas |
| Published Language | Eventos e contratos |
Comunicação¶
São permitidos:
- REST
- Eventos
- Filas
- Webhooks
É proibido:
- JOIN entre bancos de contextos diferentes
- Acesso direto a tabelas externas
- Compartilhamento de entidades
Eventos¶
Exemplos:
CRM
- LeadCreated
- OpportunityWon
ERP
- ProductCreated
- StockUpdated
Finance
- InvoiceIssued
- PaymentReceived
RH
- EmployeeHired
Princípios¶
Cada contexto:
- possui autonomia;
- possui ciclo de vida próprio;
- possui banco lógico próprio;
- evolui independentemente;
- publica contratos estáveis.
Objetivo Final¶
Garantir uma arquitetura baseada em Domain-Driven Design onde os domínios da CoreFlow Platform permaneçam desacoplados, evoluam de forma independente e comuniquem-se apenas por contratos bem definidos.