Minimal event-driven architecture demo.
Shows the Order → Event → Payment → Result → Order flow using Outbox & Inbox patterns.
Docker and Docker Compose must be installed.
git clone https://github.com/cemkdev/event-driven-order-service.git
cd event-driven-order-service
docker compose up -dSwagger: http://localhost:8080/swagger
POST /api/orders
{
"amount": 100
}Sending this request starts the order creation and payment simulation flow.
- OrderService uses the Outbox pattern to persist events before publishing
- BackgroundServices handle event publishing and consuming
- PaymentService uses Redis Inbox pattern for idempotency
- RabbitMQ access is wrapped with a lightweight abstraction layer
- ASP.NET Core (.NET 9)
- EF Core + SQL Server
- RabbitMQ
- Redis
- Outbox & Inbox patterns
- BackgroundService consumers
- Docker & Docker Compose
