Skip to content

Latest commit

 

History

History
30 lines (19 loc) · 2.17 KB

README_pt.md

File metadata and controls

30 lines (19 loc) · 2.17 KB

CQRS Example

Read in english

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).

A API é uma ASP NET WebAPI usando .NET 7, com o mínimo possível de bibliotecas.

Padrões de arquitetura e conceitos de programação aplicados

Os links são para estudos e referências de conhecimento.

  • Padrão CQRS (link1) (link2)
  • Padrão de notificações (notifications pattern) (link)
  • Diretórios por funcionalidades (feature folders) (link)
  • Logs estruturados (structured logging) (link)
  • Tipos nuláveis e não-nuláveis (link)
  • Testes unitários (link)
  • Testes de APIs (link)
  • Documentação Swagger com exemplos (link)

Para executar o projeto

O projeto requer apenas o .NET 7 instalado. A API usa um banco de dados em memória, então não precisa de nenhum banco de dados instalado. Para executar os testes de API, é necessário ter o Postman.

O script runserverlocal.ps1 compila o projeto e executa a API, ouvindo em http://localhost:5000.

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.

Para rodar os testes de API, importar os arquivos de collection e environment do Postman que estão na pasta tests e depois iniciar o collection runner (tutorial aqui).