Skip to content

rogerapdev/ECommerceSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de E-Commerce com Microserviços

Este projeto implementa um sistema de e-commerce utilizando uma arquitetura de microserviços. Sendo eles:

  1. ProdutoAPI - Gerenciamento de produtos
  2. GarantiaAPI - Gerenciamento de garantias
  3. VendaAPI - Processamento de vendas

Tecnologias Utilizadas

  • .NET 6
  • ASP.NET Core Web API
  • Docker e Docker Compose
  • CQRS com MediatR
  • FluentValidation
  • AspNetCoreRateLimit

Estrutura do Projeto

ECommerceSystem/
├── ProdutoAPI/         # Microserviço de Produtos
├── GarantiaAPI/        # Microserviço de Garantias
├── VendaAPI/           # Microserviço de Vendas
└── docker-compose.yml  # Arquivo de Configuração da Docker

Como Executar

Para executar o sistema, siga os passos abaixo:

  1. Precisa ter o Docker e o Docker Compose instalados.

  2. Na raiz do projeto, execute o comando:

docker-compose up --build
  1. Os serviços estão disponíveis nas portas:

  2. A documentação da API/Swagger está disponível nas urls:

Funcionalidades

ProdutoAPI

  • Cadastro, atualização e remoção de produtos
  • Consulta de produtos
  • Controle de estoque

GarantiaAPI

  • Cadastro, atualização e exclusão de garantias
  • Consulta de garantias disponíveis

VendaAPI

  • Processamento de vendas
  • Consulta de vendas
  • Integração com os serviços de Produto e Garantia

Arquitetura

O sistema utiliza uma arquitetura de microserviços, onde cada serviço é independente e se comunica através de APIs REST. O padrão CQRS (Command Query Responsibility Segregation) é utilizado para ter uma maior escalabilidade e manutenibilidade, separando as operações de leitura (consultas) das operações de escrita (comandos).

Os serviços se comunicam utilizando chadas HTTP, onde o serviço de Vendas consome os serviços de Produtos e Garantias para realizar suas operações.

Limitação de Taxa (Rate Limiting)

Todos os serviços tem uma proteção contra abusos na utilização dos endpoints. Essas configurações podem ser alteradas nos arquivos appsettings.json de cada serviço.

About

Sistema de E-Commerce com Microserviços

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors