Este repositório contém um projeto de microservices para uma aplicação de comércio eletrônico (e-shop). Cada microservice desempenha um papel específico na arquitetura geral da aplicação.
-
BuildingBlocks: Módulo responsável por fornecer blocos de construção reutilizáveis para os microservices.
- Messaging: Implementação de mensageria para comunicação entre os microservices.
- CQRS: Implementação do padrão CQRS (Command Query Responsibility Segregation).
- Exceptions: Definição de exceções personalizadas para tratamento de erros.
- Pagination: Funcionalidade de paginação para listagens de recursos.
-
Services: Microservices individuais que compõem a aplicação.
- Basket.API: Serviço responsável por gerenciar o carrinho de compras dos usuários.
- Catalog.API: Serviço responsável por gerenciar o catálogo de produtos da loja.
- Discount.Grpc: Serviço gRPC responsável por aplicar descontos nos produtos.
-
Ordering: Microservice para gerenciamento de pedidos.
- Ordering.API: Serviço responsável por expor endpoints relacionados aos pedidos.
- Ordering.Application: Lógica de aplicação relacionada aos pedidos.
- Ordering.Domain: Definições de domínio relacionadas aos pedidos.
- Ordering.Infrastructure: Implementação de infraestrutura para o serviço de pedidos.
Para utilizar este projeto, siga estas etapas:
- Clone ou faça o download deste repositório.
- Importe cada microservice em sua IDE preferida.
- Certifique-se de ter todas as dependências necessárias configuradas em seu ambiente de desenvolvimento.
- Execute cada microservice individualmente ou utilize ferramentas de orquestração como Docker e Kubernetes para implantar e gerenciar os microservices.
Contribuições para este projeto são bem-vindas! Se você tiver sugestões, melhorias ou correções a fazer, sinta-se à vontade para abrir uma issue ou enviar um pull request.