Pular para conteúdo

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.