Pular para conteúdo

Arquitetura

Objetivo

Organizar a documentação de arquitetura dos produtos CoreFlow em dois níveis complementares: C4 Model (visão estrutural, de sistemas a código) e DDD (visão de domínio de negócio).


Escopo real

Não existe uma "CoreFlow Platform" tecnicamente unificada — cada um dos 8 produtos do ambiente hauxtech é uma aplicação Django standalone, com banco, autenticação e deploy próprios (ver Visão da Plataforma). Por isso, a documentação de arquitetura aqui é aplicada por produto: os diagramas C4 usam o CoreFlow CRM (produto de referência, 100% documentado) como exemplo concreto — o mesmo padrão se aplica a qualquer um dos demais produtos, trocando os nomes dos apps/domínios.

flowchart TD Context[C4 · Contexto] --> Container[C4 · Container] Container --> Component[C4 · Componente] Component --> Code[C4 · Código] Deployment[C4 · Deployment] -.infraestrutura.-> Container DDD[DDD · Domínio] -.linguagem/regras.-> Component

C4 Model

Nível Pergunta que responde Documento
Contexto Quem usa o sistema e com o que ele se integra? Contexto
Container De que processos/serviços deployáveis o sistema é feito? Container
Componente De que módulos internos cada container é feito? Componente
Código Como o código está organizado dentro de um componente? Código
Deployment Em que infraestrutura os containers rodam? Deployment

DDD

Ver Domain-Driven Design para a documentação de domínio (bounded contexts, agregados, entidades, eventos) — com a ressalva já registrada em ADR-0003: os produtos reais modelam domínio diretamente em models Django, sem esses conceitos formalizados como código.


Deployment

Ver Cloud, Docker e Kubernetes para a infraestrutura real onde os produtos rodam.


Referências