Pular para conteúdo

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.