Skip to content

devmisa/StoreApp

Repository files navigation

.NET C# PostgreSQL RabbitMQ Docker Tests Swagger License

StoreApp

Uma plataforma de processamento de pedidos em nível empresarial construída com .NET 10, demonstrando arquitetura de sistemas distribuídos com as melhores práticas em Vertical Slice Architecture (Arquitetura em Fatias Verticais).

✨ Funcionalidades

  • REST API para gerenciamento de pedidos com documentação Swagger
  • Serviço Worker assíncrono para processamento em background
  • PostgreSQL com Entity Framework Core para persistência de dados
  • RabbitMQ para comunicação baseada em eventos
  • .NET Aspire para orquestração local de serviços
  • Testes Unitários abrangentes com xUnit, Moq e FluentAssertions

🏗️ Arquitetura

  • Separação clara de responsabilidades com estrutura baseada em features
  • FluentValidation para validação robusta de dados
  • Serilog para logging estruturado com suporte a OpenTelemetry
  • Tratamento de erros de nível produção

🚀 Como Começar

Pré-requisitos

  • .NET 10 SDK
  • Docker (para PostgreSQL e RabbitMQ)
  • Visual Studio 2026 ou VS Code

Instalação

  • git clone https://github.com/devmisa/StoreApp.git
  • cd StoreApp
  • dotnet run --project StoreApp.AppHost

O dashboard do Aspire abrirá automaticamente no navegador.

🧪 Testes

Executar todos os testes

  • dotnet test

💡 Conceitos Principais

  • Arquitetura em Microsserviços: API + Worker separados
  • Processamento Assíncrono: Via RabbitMQ message queue
  • Database First: Entity Framework Core com migrations
  • Desenvolvimento Local: .NET Aspire simplifica configuração

🛠️ Stack Tecnológico

Componente Tecnologia
Runtime .NET 10
API Web ASP.NET Core 10
Banco de Dados PostgreSQL + EF Core
Message Broker RabbitMQ
Testes xUnit, Moq, FluentAssertions
Logging Serilog + OpenTelemetry
Orquestração .NET Aspire

🎓 Aprendizado

Este projeto é ideal para:

  • Aprender arquitetura de microsserviços
  • Implementar padrões de design em .NET
  • Desenvolver habilidades com tecnologias enterprise
  • Servir como base para projetos reais

📋 Próximos Passos

  • Testes de integração
  • Containerização com Docker
  • CI/CD pipeline (GitHub Actions)
  • Cobertura de testes >80%
  • Deploy em Kubernetes

📄 Licença

MIT License

About

Um sistema distribuído de processamento de pedidos construído com .NET 10, apresentando uma API REST, serviço de trabalho assíncrono, banco de dados PostgreSQL e fila de mensagens RabbitMQ com .NET Aspire para orquestração.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages