f99dcce2e0c884c4b96c242c70dd53bfe013fc3c
Projeto de referência em Domain-Driven-Design com implementação de Aggregates + Event Sourcing + CQRS.
Domínio
Imagem do Domínio
Aplicações desta Solução
- Producer: Web API que recebe os comandos de edição de conteúdo, produz Eventos de Domínio e publica as mensagens em um tópico no Kafka.
- Consumer: Aplicativo Console que consome as mensagens do Kafka, deserializa em Eventos de Domínio e aplica nas agregações persistindo no MongoDB o novo estado.
- Auth: Web API que gera tokens de autenticação para acesso ao WebAPI.
Demo
- Producer IMAGEM 1
- Consumer IMAGEM 2
- Auth IMAGEM 3
Por onde começar?
Se os requisitos estiverem atendidos basta apertar F5 no projeto docker-compose e as três aplicações são executadas.
Ou se você preferir pode chamar uma a uma conforme os passos abaixo:
- Execute o projeto Jambo.Auth.WebAPI e chame o método Account/Token com qualquer usuário e senha. Guarde este token.
- Execute o projeto Jambo.Consumer.Console e garante que ele contínua em execução.
- Execute o projeto Jambo.Producer.WebAPI e clique no botão Authorization (topo direito da página).
-
Digite
bearer + valor_do_tokene clique em fechar. Algo assim: -
Chame os métodos para manutenção dos dados do Blog, Posts e Comentários.
-
Requisitos
- Visual Studio 2017 + Update 3
- .NET SDK 2.0
- Docker (Opcional)
- Robomongo (Opcional)
Description
An Hexagonal Architecture with DDD + Aggregates + Event Sourcing using .NET Core, Kafka e MongoDB (Blog Engine)
aggregatebearer-authenticationcqrscqrs-esdddddd-architecturedomain-driven-designdotnet-coreevent-drivenevent-sourcinghexagonal-architecturekafkamicroservicemicroservicesmongodboptimistic-updatesservice-bussolidsolid-principleswebapi
Readme
79 MiB
Languages
C#
99.5%
Dockerfile
0.4%