Este projeto é um exemplo de uma API de lista de compras com o intuito de mostrar alguns conceitos de arquitetura de software, principalmente CQRS (Command and Query Responsibility Segregation).
O servidor é uma ASP.NET Minimal API em .NET 10, com o mínimo possível de bibliotecas.
Os links são para estudos e referências de conhecimento.
- Padrão CQRS
- Padrão de notificações
- Diretórios por funcionalidades
- Logs estruturados
- Tipos nuláveis e não-nuláveis
- Testes unitários
- Testes de APIs
- Documentação da API com exemplos
O projeto requer apenas o .NET 10 instalado. A API usa um banco de dados em memória.
O script runserverlocal.ps1 compila o projeto e executa a API, ouvindo em https://localhost:5001.
O script rununittests.ps1 executa os testes unitários e gera um relatório de cobertura de testes na pasta TestResults. Requer o ReportGenerator instalado.
O projeto é preparado para compilação com trimming e em NativeAOT, através da flag PublishAot. Confira mais no arquivo csproj do projeto de API.