Este repositório contém a documentação e o design arquitetural da solução MyBookstore.
A arquitetura foi projetada com base no modelo C4, partindo do contexto geral até o detalhamento do componente principal (API). Arquivo fonte com todos diagramas feito do Drawoi C4.drawio.
Nota: Para detalhes sobre a organização física do código do componente principal (MVC), consulte o documento de Estrutura de Pastas.
O sistema MyBookstore orquestra as vendas de livros, interagindo com clientes, estoquistas e sistemas externos de pagamento e notificação.
A solução adota uma arquitetura híbrida. O núcleo transacional é uma API Application (.NET Core), suportada por serviços de background (Workers) para processamento assíncrono via RabbitMQ, garantindo que a API permaneça responsiva.
Este diagrama detalha o funcionamento interno da API Application. Conforme solicitado no desafio, este componente segue estritamente o Padrão Arquitetural MVC (Model-View-Controller) para expor os dados.
- Controller (Interface): Os componentes
OrdersControllereProductControlleratuam como a camada de entrada, recebendo requisições HTTP/JSON. - Model (Entidades): Representados implicitamente pelas estruturas de dados persistidas no Banco de Dados Relacional.
- Service (Regras de Negócio):
OrdersServiceeProductServiceencapsulam a lógica. Note que oOrdersServicetambém atua como Publisher, enviando eventos para a fila (RabbitMQ) para processamento posterior. - Repository (Acesso a Dados): Isolamento do acesso ao PostgreSQL.
Documentação gerada para o Desafio Final - Arquiteto(a) de Software.


