All BlueprintsCommerce

Order lifecycle for a kitchen

The order board a small kitchen runs service on. An order moves from placed to cooking to out for delivery through the moves that are legal and no others, the customer watches it happen on their own phone, and a cancellation stops the kitchen rather than arriving after the pan is already hot.

L2–L4Level range
7Sprints
30Tasks
Backend and frontendBuilt as

What you’ll build.

By the last sprint

A food order that moves in front of you. The customer watches it go from placed to cooking to out for delivery without refreshing. The kitchen and the rider each do their own job and cannot do each other's. Cancelling works until cooking starts, and every change is on the record with a name and a time.

What you’ll learn.

Each sprint is built around one skill. You show you have it in a pull request your team reviews, then explain it in a walkthrough.

Authentication

You can register and sign in a user, keep a request authenticated without asking for the password again, and explain where the credential lives in the browser and why there rather than somewhere else.

An order that moves through states

You can move an order through its states, refuse a transition that should not happen, and show the history of how it got where it is.

Roles and permissions

You can give users different roles and have the server refuse what a role may not do — not merely hide the button — and show the refusal working against a request the interface never offered.

Realtime updates

You can push a change from the server to an open page and have a second browser see it — and say what happens to a client that was disconnected while it changed.

Going live

Somebody who has never met you can open a URL and use the product — and you can say what is different about the copy running there, where its secrets come from, and what you do when a release turns out to be wrong.

The roadmap. 7 sprints, 30 tasks.

Every sprint has a goal and a set of tasks. Open a sprint to see the tasks you will pick up.

Sprint 01

Everyone who touches an order

The kitchen, the riders and the customers are three kinds of person the system can tell apart, and a tablet stays signed in through a whole service.

4 tasks
  1. A customer can sign up and land signed in
  2. Coming back to the same account, and leaving it properly
  3. Kitchen and rider accounts exist, and nobody issues themselves one
  4. A tablet signed in at five is still signed in at midnight
Sprint 02

The moves that are legal

An order exists, moves forward through the moves that are legal, and refuses everything else, including the second tap on a wet screen.

5 tasks
  1. A customer places an order and it lands on the kitchen's board
  2. An order moves forward through its stages
  3. A move that is not allowed is refused, and says what state the order is in
  4. Tapping start twice starts one order once
  5. The board is readable at arm's length and puts the waiting orders first
Sprint 03

Who may move what

The kitchen can start cooking and cannot mark delivered, the rider the other way round, and the server is what refuses rather than a missing button.

4 tasks
  1. The kitchen's moves and the rider's moves are different moves
  2. A move nobody was offered is still refused
  3. Each role opens the one screen that is theirs
  4. A customer sees their own orders and nobody else's
Sprint 04

The screen they watch

A customer watching on a phone sees each move as it happens, and a phone that was asleep catches up instead of showing something that stopped being true.

4 tasks
  1. The customer's screen changes the moment the kitchen moves the order
  2. New orders and rider pickups appear on the board without a reload
  3. A screen that was asleep catches up instead of lying
  4. A live connection carries only what its holder may see
Sprint 05

Stopping the kitchen

A customer can cancel until the kitchen starts, a simultaneous cancel and start produces exactly one outcome by a rule decided in advance, and the one who lost is told something true.

4 tasks
  1. A customer can cancel while the kitchen has not started
  2. A cancelled order comes off the board while the kitchen is looking at it
  3. Cancel and start in the same instant produce exactly one outcome
  4. Whoever lost the race is told what actually happened
Sprint 06

How it got here

Every move is kept with its time and the person who made it, and a week later anybody can read the whole story of an order including the moves that were refused.

4 tasks
  1. Every move is kept, with its time and the person who made it
  2. The customer's screen shows the whole evening, not one word
  3. A move that was refused is recorded too
  4. An order from last week can be found and read in full
Sprint 07

Service starts at six

The board is on the internet at its own address, the live screens survive being there, and the person who built it is not part of how it stays up.

5 tasks
  1. The board answers at its own address, on somebody else's phone
  2. The live screens survive being on the internet
  3. Nothing the product needs to run is in the repository
  4. Somebody else can put a change live, and put it back
  5. When the board goes blank at seven on a Friday, somebody can say why

Read before you build. The best engineers do.

Senior engineers read the docs before they touch the code. Every Blueprint comes with short documents on the product and its world, the kind a team hands a new hire. Read them well and you ask sharper questions and walk into every review prepared.

What you are building

The product, the three people who use it, and what finished means.

How a kitchen actually runs service

Domain you will not have: the pass, the ticket rail, why an order sitting at placed is the expensive failure, and what cancelling costs at each stage.

Build order lifecycle for a kitchen.

Start your free week. Adaeze runs your kickoff, and Lars reviews every pull request.