Skip to content

Projeto de microsserviços desenvolvido com ASP.NET Core 8, implementando conceitos modernos de arquitetura distribuída, segurança, mensageria e orquestração. Esse sistema simula um e-commerce com serviços independentes para Produtos, Carrinho, Cupons e Autenticação (Identity Server).

Notifications You must be signed in to change notification settings

ddouglss/MicrosService.NET

Repository files navigation

GeekShopping - Microsserviços com .NET 8

.NET C# License

Sobre

Projeto de microsserviços desenvolvido com ASP.NET Core 8, implementando conceitos modernos de arquitetura distribuída, segurança, mensageria e orquestração. Esse sistema simula um e-commerce com serviços independentes para Produtos, Carrinho, Cupons e Autenticação (Identity Server).

Baseado no curso de microsserviços com .NET 8, OAuth2, OpenID, Identity Server, RabbitMQ, Ocelot, Swagger e muito mais.

Tecnologias utilizadas

  • .NET 8 / ASP.NET Core
  • C#
  • Duende Identity Server (OAuth2, OpenID Connect)
  • RabbitMQ (mensageria)
  • Ocelot API Gateway
  • Swagger / Swashbuckle
  • JWT (JSON Web Tokens)
  • Mysql
  • Docker

Microsserviços

  • ProductAPI — Serviço de gerenciamento de produtos
  • CartAPI — Serviço de gerenciamento de carrinho de compras
  • CouponAPI — Serviço de cupons de desconto
  • IdentityServer — Serviço de autenticação e autorização baseado em OAuth2/OpenID Connect
  • API Gateway — Usando Ocelot para roteamento e segurança

Funcionalidades principais

  • APIs REST para cada microsserviço, desacoplados e independentes
  • Segurança via OAuth2 com tokens JWT e Identity Server
  • Comunicação síncrona via HTTP e assíncrona via RabbitMQ
  • Aplicação de cupons de desconto no carrinho
  • Documentação automática com Swagger para todas APIs
  • Suporte para deploy local e em containers Docker

Como rodar localmente

  1. Clone o repositório:
git clone https://github.com/seu-usuario/seu-repositorio.git
cd seu-repositorio
  • Configure as variáveis de ambiente e os arquivos appsettings.json em cada microsserviço.

Inicie o RabbitMQ (local ou via Docker):

docker run -d --hostname rabbitmq --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management

Execute os microsserviços na ordem recomendada:

  • IdentityServer
  • ProductAPI
  • CouponAPI
  • CartAPI
  • API Gateway (Ocelot)

Acesse a documentação Swagger em cada serviço via navegador (ex: https://localhost:4440/swagger)

Rodando com Docker Compose

docker-compose up --build

Contribuição

Contribuições são bem-vindas! Faça um fork do projeto, crie sua branch com feature/bugfix e envie um pull request.

Licença

Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

✍️ Autor

Douglas Souza Silva
Estudante e desenvolvedor Java em constante aprendizado.
LinkedInGitHub


Este repositório acompanha a evolução prática do conteúdo abordado no curso, com foco em aprendizado sólido e aplicação no mundo real.

About

Projeto de microsserviços desenvolvido com ASP.NET Core 8, implementando conceitos modernos de arquitetura distribuída, segurança, mensageria e orquestração. Esse sistema simula um e-commerce com serviços independentes para Produtos, Carrinho, Cupons e Autenticação (Identity Server).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published