Skip to content

Week 21 - Design and Foundation

Conceptual Core

A capstone that isn't designed first becomes a tutorial. Spend the first week producing a written design document - what you are building, what you are not building, what invariants you guarantee, how you will know it works.

Deliverables

  1. Design doc (3–8 pages): goals, non-goals, system diagram, data model, failure model, observability story, testing strategy.
  2. Skeleton repo: build, lint, format, CI, JUnit 5, JMH module, JFR config, Dockerfile, OpenTelemetry wiring. Use your hardening/ template from months 1–5 as the starting point.
  3. Walking skeleton: end-to-end path through every major component, even if each component is a stub. "Hello world from every box on the diagram."

Track-specific notes

  • Distributed storage: read the Raft paper (Ongaro). Decide on snapshot strategy and log compaction up front. Pick a wire protocol (gRPC is the default).
  • Service mesh: decide on service discovery (in-memory registry for the lab; etcd or Consul if ambitious). Define the deadline-propagation contract.
  • Streaming pipeline: decide on persistence (segmented append-only files like Kafka; or RocksDB). Define the delivery contract (at-least-once is realistic).

Hardening slice

CI runs: build + test + JMH smoke + integration test in containers. Push the green button before week 22.

Comments