- An
Invoices
feature that issues invoices when newOrders
are placed - Make sure saving an order and
OrderPlaced
events are transactional ( use Outbox Pattern) - Prepare
Emails
forOrders
andInvoices
to be send (messages should be light-weight; use Claim Check Pattern) - Configure a message broker (e.g., RabbitMQ) for production
- A
Revenues
feature that keeps track of total sale revenues - A
Sales
feature that has ownership of SKU prices - Write unit tests for Consumers using MassTransit's Test Harness
- Use the Saga Pattern to orchestrate the process from an order placed, invoice issued, to payment and shipping.
- Orders might be canceled
Run with development profile:
dotnet run --launch-profile dev-http --project WebShop.HttpApi