NextAurora

An event-driven microservices store with a kill switch — kill a service live and watch the system not lose a single message.

.NET 10WolverineRabbitMQEF CoreReact 19KeycloakDockerAspire

Try it liveSource on GitHub
The three-act demo: place an order, watch the saga replay on the live canvas, kill PaymentService and watch the durable queue hold the event until revive

The pitch in one sentence

Five .NET microservices run a real e-commerce order flow — and the demo’s closing act is a button that kills the payment service in production, so you can watch the order wait in a durable queue and complete the moment the service revives. Nothing simulated: the claim “no message is ever lost” is something you verify yourself, in the browser.

What a visitor sees

Log in at shop.emeraldleaf.dev (buyer1 / buyer1) and run the three acts:

  1. Place an orderPOST /orders returns 202 Accepted: placement is asynchronous, and the order row itself is the tracking record.
  2. Watch the saga — the order page draws the live saga canvas: the real RabbitMQ topology (three fanout exchanges, seven consumer queues, production names), with your order’s events replayed hop by hop. Placed → Paid → Shipped in about nine seconds, each hop captioned with the pattern it demonstrates.
  3. Break it — kill the payment consumer, place another order, watch it hold at Placed while OrderPlacedEvent sits in the durable payment-orders queue, then revive and watch the saga drain through.

The architecture underneath

NextAurora architecture — services, RabbitMQ topology, and the order-placement saga

Engineering beyond the code

Where to go next