Examples
Examples
Every example below lives in estoria-examples as a self-contained Go module.
Backend Quickstarts
| Quickstart | What it Covers |
|---|---|
| PostgreSQL | Postgres event store, including the transactional outbox for reliable event delivery to external consumers. |
| MongoDB | MongoDB event store using a single-collection strategy. |
| KurrentDB | KurrentDB (formerly EventStoreDB) event store with native stream mapping. |
| OpenTelemetry | Instrumenting event, aggregate, and snapshot stores with OTEL tracing and metrics, against Jaeger, Prometheus, and Grafana. See Telemetry. |
Demo Applications
Runnable apps with web UIs, showcasing Estoria’s event sourcing features and capabilities.
| Example | What it Demonstrates | Try It |
|---|---|---|
| Kanban | A real-time collaborative board with a time-travel slider, live sync over SSE, optimistic concurrency surfaced in the UI, and snapshotting. SQLite — no Docker required. | |
| Orders | An order-fulfillment service: a strict state-machine domain, the transactional outbox delivering events to a CQRS read model and webhook log, and a live admin dashboard. Postgres. | orders.demo.estoria.dev |
| Fleet | An IoT sensor-fleet dashboard with an in-process device simulator: long streams, the full snapshotting and caching decorator stack, and a live hydration benchmark. SQLite. | |
| Chess | Two-player chess where each game is an event stream: move legality enforced inside ApplyTo, a replay slider, optimistic concurrency as turn-race protection, and PGN export. SQLite. | chess.demo.estoria.dev |
| Inspector | A read-only web tool for browsing any supported event store: stream lists, event paging, payload inspection, and a live global-feed tail. | |
| Ledger | A bank ledger whose read model is rebuilt live, blue/green, from a web console: versioned projections built alongside the version serving reads, promotion and rollback as recorded cutovers, witnessed retirement, and crash recovery with audited runner takeover. Postgres. |