A filled-in example of the engineering design playbook. The product is fictional. The documents are the point.
Reading view: openmove.github.io/design-docs-example. Start with the tour.
CityCycle is a bike-sharing service for a mid-size city. Riders unlock a bike from a station, ride, and return it. Operators restock stations. A later change adds electric bikes.
This repository has no application code. It shows how architecture documentation, ADRs, and RFCs look when they are used together on a small, concrete system.
- Architecture, section 1 — what CityCycle is for, and the three quality goals that drive the design.
- Context diagram and section 3 — who touches the system.
- Solution strategy — how those quality goals become technical choices.
- Container diagram and building blocks — the deployable pieces.
- The ADRs, in order:
- RFC 0001 — add electric bikes — a later change with real trade-offs.
- ADR 0003 — the decision that RFC produced.
- RFC 0002 — hold a bike while walking to it — the next change, still in review. ADR 0006 is only proposed, and the runtime view has not been rewritten.
That sequence is the practice: map the system first, record durable choices as ADRs, propose ambiguous work as an RFC, and let an approved RFC leave new ADRs behind. Step 8 is what the docs look like in the middle of a change.
- Not a product for Riverside, and not related to any real operator.
- Not a complete arc42 fill-in. Sections that would be empty noise are left short on purpose.
- Not a substitute for the template. New projects should start from engineering-design-playbook, not from this example.