Skip to content

Demos

Production-ready demos showcasing real-world event-sourcing patterns. Each demo is self-contained and runnable.

Practical Demos

Banking

Account management with event sourcing, transfer saga, and compensation flows.

E-Commerce

Order processing with multi-aggregate saga, payment, inventory, and automatic rollback.

Lakehouse Platform

Enterprise data platform with SLA enforcement, pluggable executor backends (LocalPython, BigQuery, Spark, dbt), full pipeline automation, data contracts, GDPR compliance, and an observability dashboard -- all event-sourced with SSE streaming.

Notifications

Resilient notification system with retry policies, exponential backoff, and dead letter queue.

Projections

Read-model construction from event streams — CQRS pattern with denormalized query models.

Web GUI

Interactive Dash dashboard for exploring events, commands, and aggregate state.

uv run python -m bases.orchestrix.web_gui_demo.app
# Open http://localhost:8050

Technical Pattern Demos

Events & Commands

Basics of command/event separation, handler registration, and the Module protocol.

Tracing

Distributed tracing with OpenTelemetry and Jaeger integration.

Validation

Input validation using built-in guard clauses and ValidationError.

Versioning

Event schema evolution using upcasters and UpcasterRegistry.

GCP Integration

Google Cloud SQL, BigQuery, and Pub/Sub infrastructure adapters.

Running Demos

All demos live in bases/orchestrix/ and run with uv:

# Banking
uv run python -m bases.orchestrix.banking_demo.main

# E-Commerce
uv run python -m bases.orchestrix.ecommerce_demo.main

# Lakehouse (FastAPI)
uv run uvicorn bases.orchestrix.lakehouse_fastapi_demo.app:app --reload

# Notifications
uv run python -m bases.orchestrix.notifications_demo.main

# Projections
uv run python -m bases.orchestrix.projection_demo.demo_projection

# Web GUI (Dash)
uv run python -m bases.orchestrix.web_gui_demo.app

# Events & Commands
uv run python -m bases.orchestrix.events_and_commands_demo.demo_events_and_commands

# Validation
uv run python -m bases.orchestrix.validation_demo.demo_validation

# Versioning
uv run python -m bases.orchestrix.versioning_demo.demo_versioning

# GCP
uv run python -m bases.orchestrix.gcp_demo.main

Learning Path

  1. Events & Commands → Learn message-driven basics
  2. Banking → Understand event sourcing + aggregates
  3. E-Commerce → Master sagas and distributed transactions
  4. Lakehouse → Enterprise patterns: SLAs, executors, pipelines, GDPR compliance
  5. Notifications → Resilience: retries, backoff, dead letter queues
  6. Web GUI → Visualize everything interactively