Dockerized Choreography-based Saga Example Project with Onion Architecture. Includes Order, Stock and Payment microservices.
-
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
- OrderCreatedEvent
-
StockNotReservedEvent
-
PaymentFailedEvent
-
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
-
StockReservedEvent
-
StockNotReservedEvent
-
OrderCreatedEvent
-
PaymentFailedEvent
Receives successful stock message.
-
Publisher and Consumer. (Publish event. Consumes from StockAPI.)
-
RabbitMQ with MassTransit
-
Mediator Pattern
-
Dockerized
-
PaymentSucceededEvent
-
PaymentFailedEvent
- StockReservedEvent
docker-compose -f docker-compose.yml up -d
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