Bounded Contexts¶
Objetivo¶
Definir os limites de responsabilidade de cada domínio da CoreFlow Platform.
Cada contexto possui linguagem, regras de negócio, entidades e serviços próprios.
Os contextos comunicam-se através de APIs, eventos ou integrações bem definidas.
Visão Geral¶
flowchart LR
Core["Core Platform"]
CRM["CRM"]
ERP["ERP"]
Finance["Finance"]
RH["RH"]
WMS["WMS"]
BI["BI"]
Service["Service"]
AI["AI"]
Core --> CRM
Core --> ERP
Core --> Finance
Core --> RH
Core --> WMS
Core --> BI
Core --> Service
Core --> AI
Core Context¶
Responsabilidades¶
- Authentication
- Users
- Companies
- RBAC
- Audit
- Notifications
- Files
- AI
- Integrations
O Core nunca implementa regras específicas dos produtos.
CRM Context¶
Responsabilidades¶
- Leads
- Contacts
- Accounts
- Opportunities
- Pipeline
- Activities
- Agenda
- Proposals
- Commercial Dashboard
Não implementa autenticação, usuários ou empresas.
ERP Context¶
Responsabilidades¶
- Cadastros
- Produtos
- Compras
- Estoque
- Produção
- Fiscal
- Faturamento
Finance Context¶
Responsabilidades¶
- Contas a Pagar
- Contas a Receber
- Fluxo de Caixa
- Conciliação
- Centros de Custos
- Bancos
RH Context¶
Responsabilidades¶
- Funcionários
- Departamento Pessoal
- Folha
- Benefícios
- Ponto
- Férias
WMS Context¶
Responsabilidades¶
- Recebimento
- Armazenagem
- Separação
- Expedição
- Inventário
- Endereçamento
BI Context¶
Responsabilidades¶
- Indicadores
- Dashboards
- Cubos
- Analytics
- KPIs
Service Context¶
Responsabilidades¶
- Chamados
- SLA
- Atendimento
- Base de Conhecimento
- Portal do Cliente
AI Context¶
Responsabilidades¶
- Agentes
- Prompts
- RAG
- Workflows
- Classificações
- Recomendações
Regras¶
Cada contexto:
- possui seu próprio domínio;
- possui suas próprias entidades;
- possui APIs próprias;
- não acessa diretamente o banco de outro contexto.
Toda comunicação deverá ocorrer através de:
- APIs
- Eventos
- Mensageria
Dependências¶
flowchart TD
Core --> CRM
Core --> ERP
Core --> Finance
Core --> RH
Core --> WMS
Core --> BI
Core --> Service
Core --> AI
CRM --> AI
CRM --> Notifications
ERP --> Finance
ERP --> Notifications
Finance --> BI
RH --> Notifications
Service --> CRM
Comunicação¶
É proibido:
- acessar tabelas de outro contexto;
- compartilhar entidades;
- compartilhar regras de negócio.
É obrigatório:
- utilizar contratos;
- utilizar APIs;
- utilizar eventos;
- manter baixo acoplamento.
Evolução¶
Cada contexto poderá evoluir independentemente desde que preserve seus contratos públicos.
Mudanças incompatíveis deverão gerar:
- nova versão da API;
- atualização da documentação;
- ADR correspondente.
Objetivo Final¶
Garantir que cada domínio da CoreFlow Platform evolua de forma independente, preservando baixo acoplamento, alta coesão e comunicação padronizada entre todos os produtos e serviços da plataforma.