Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Choreography-based Saga Example Project

Dockerized Choreography-based Saga Example Project with Onion Architecture. Includes Order, Stock and Payment microservices.

Order.API

General

  • Publisher and Consumer. (Publish to StockAPI. Consumes from StockAPI and PaymentAPI.)

  • RabbitMQ with MassTransit

  • EntityFramework Core - PostgreSQL

  • Mediator Pattern

  • Repository Pattern

  • Unit of Work Pattern

  • Dockerized

Events

Publish
  • OrderCreatedEvent
Consume
  • StockNotReservedEvent

  • PaymentFailedEvent

Stock.API

General

  • Publisher and Consumer. (Publish to PaymentAPI. Consumes from OrderAPI and PaymentAPI.)

  • RabbitMQ with MassTransit

  • EntityFramework Core - PostgreSQL

  • Mediator Pattern

  • Repository Pattern

  • Unit of Work Pattern

  • Dockerized

Events

Publish
  • StockReservedEvent

  • StockNotReservedEvent

Consume
  • OrderCreatedEvent

  • PaymentFailedEvent

Payment.API

Receives successful stock message.

General

  • Publisher and Consumer. (Publish event. Consumes from StockAPI.)

  • RabbitMQ with MassTransit

  • Mediator Pattern

  • Dockerized

Events

Publish
  • PaymentSucceededEvent

  • PaymentFailedEvent

Consume
  • StockReservedEvent

Run with Docker

docker-compose -f docker-compose.yml up -d

Migration

To apply migrations follow this command on Package Manager Console for Order and Stock Microservices. (Set starting project to API and set default project to Infrastructure on Package Manager Console)

update-database

License

MIT

About

Dockerized Choreography-based Saga Example Project with Onion Architecture. Includes Order, Stock and Payment microservices.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages