Arquitetura da API de Registro de Pedidos

Diagramas arquiteturais abrangentes explicando o design e fluxo de trabalho do sistema da API de Registro de Pedidos

Arquitetura Geral
Arquitetura de três camadas mostrando as camadas de Domínio, Aplicação e Infraestrutura
Camada de Domínio
Entidade de Usuário

Modelo de domínio principal do usuário

Entidade de Pedido

Modelo de domínio do pedido

Entidade de Produto

Modelo de domínio do produto

Camada de Aplicação
Casos de Uso
CreateOrderUseCase
GetOrdersUseCase
ProcessOrderUseCase
Portas/Interfaces
OrderRepository
MessageQueue
ValidationService
Camada de Infraestrutura
Controllers
OrderController
UserController
Repositórios
DrizzleOrderRepository
DrizzleUserRepository
Adaptadores
RabbitMQAdapter
FastifyAdapter
Sistemas Externos
PostgreSQL

Banco de dados principal para armazenamento de dados de pedidos e usuários

RabbitMQ

Message broker para filas de processamento de pedidos

Legenda
Dependência direta
Interface/Porta
Dependências sempre apontam para camadas internas

↑ Infraestrutura depende da Aplicação ↑ Aplicação depende do Domínio ↑