Design an Event-Sourced Inventory System for a Third-Party Warehouse
Overview
What this challenge is about.
Design an Event-Sourced Inventory System for a Third-Party Warehouse. Advanced challenge in code. Writing production code that solves real engineering proble...
The Brief
What you'll do, and what you'll demonstrate.
Replace a history-less, state-only inventory database with an event-sourced system using Command Query Responsibility Segregation that preserves a complete audit trail and serves three named read-side projections.
This is not a coding exercise. It is the work a software engineer does between a Jira ticket and a merged PR. That distinction matters to every hiring manager who has seen candidates solve LeetCode problems and none who have shipped production code under real constraints.
When you finish, you will have something most graduates do not: a real-world deliverable, verified by Ewance, that you can show to a hiring manager and say "I did this. Here is the proof."
Earning criteria — what you'll demonstrate
- Model a real warehouse domain as a coherent set of events with explicit, named business invariants
- Apply Command Query Responsibility Segregation to separate the write model from purpose-built read projections
- Build projections that rebuild deterministically from an event stream and handle duplicate or out-of-order events idempotently
- Design and justify a snapshot strategy measured against realistic event volume
- Plan a credible, verifiable migration from a state-only system to an event-sourced one without disrupting operations
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Event Sourcing
Apply event sourcing to solve real industry problems and demonstrate production-level capability.
- Cqrs
Apply cqrs to solve real industry problems and demonstrate production-level capability.
- Eventstoredb
Apply eventstoredb to solve real industry problems and demonstrate production-level capability.
- Projections
Apply projections to solve real industry problems and demonstrate production-level capability.
- Snapshotting
Apply snapshotting to solve real industry problems and demonstrate production-level capability.
- Domain Modeling
Apply domain modeling to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles:
Backend Engineer (Distributed Systems)
Designing an event-sourced inventory system with separated read and write models mirrors the core work of backend engineers building auditable, high-integrity distributed systems, where durable event logs and rebuildable projections are everyday tools.
This challenge sharpens
- event-sourcing
- cqrs
- projections
Platform / Domain Modeling Engineer
Translating warehouse operations into a precise event model with named invariants builds the domain-modeling judgment platform engineers use to design durable schemas and APIs that survive years of changing business requirements.
This challenge sharpens
- domain-modeling
- event-sourcing
- snapshotting
Logistics Systems Engineer
Building reconciliation and availability projections for a fulfillment warehouse maps directly to logistics engineering roles where inventory accuracy, audit trails, and migrations off legacy databases are central, recurring problems.
This challenge sharpens
- projections
- eventstoredb
- cqrs