Skip to content

Minimal event-driven order processing demo using Outbox/Inbox patterns.

Notifications You must be signed in to change notification settings

cemkdev/event-driven-order-service

Repository files navigation

Event-Driven Order Service

Minimal event-driven architecture demo.
Shows the Order → Event → Payment → Result → Order flow using Outbox & Inbox patterns.

Run

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 -d

Swagger: http://localhost:8080/swagger

API

POST /api/orders

{
  "amount": 100
}

Sending this request starts the order creation and payment simulation flow.

Architecture

Architecture Notes

  • 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

Tech Stack

  • ASP.NET Core (.NET 9)
  • EF Core + SQL Server
  • RabbitMQ
  • Redis
  • Outbox & Inbox patterns
  • BackgroundService consumers
  • Docker & Docker Compose

About

Minimal event-driven order processing demo using Outbox/Inbox patterns.

Topics

Resources

Stars

Watchers

Forks