All BlueprintsCommerce
Food ordering with options
Ordering for one restaurant, where a dish is a set of choices rather than a price. A size replaces the base price, extras add to it, some extras only exist on some sizes, and the total the customer is charged is worked out from what they chose rather than taken from the browser.
What you’ll build.
A takeaway ordering site. Customers pick sizes and extras, order the same dish two different ways, and pay exactly the price they were shown. They follow it from accepted to ready. The restaurant runs its own menu, and an extra that runs out disappears before anybody picks it.
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.
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.
A cart that survives
You can add, change and remove items, keep the cart across a logout and login, and show a total that reflects prices as they are now.
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.
Stock that cannot go negative
You can decrement stock on a sale and prove that a hundred simultaneous orders for ten items produce ten sales and ninety refusals.
Notifications people do not mute
You can notify a user when an event concerns them, show an unread count that survives a refresh, and honour a preference that says stop.
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, 36 tasks.
Every sprint has a goal and a set of tasks. Open a sprint to see the tasks you will pick up.
Getting in
Somebody can make an account and come back to it, and the counter's accounts cannot be issued from the sign-up form.
4 tasks
- A customer can register and land signed in
- Coming back next Friday to the same account
- Leaving the account on a borrowed phone
- Counter accounts exist, and cannot be self-issued
A dish has a shape
The restaurant describes what it sells, including the choices a dish comes with and what each one does to the price, and nobody else can.
6 tasks
- The counter has a screen for the menu
- A dish comes in sizes, and the size is the price
- Extras that add, and extras that only come on some sizes
- A question the kitchen cannot guess the answer to
- A customer can read the menu the counter wrote
- Asking to change the menu without being the counter is refused
Choosing, and what it costs
A customer builds a dish from its choices, the basket keeps each one exactly as it was built, and the total charged is worked out from the choices rather than taken from the browser.
6 tasks
- The price follows every choice
- Nothing reaches the basket with a question unanswered
- The same dish, chosen two ways, is two lines
- A basket that is still there on Friday
- The total is the kitchen's arithmetic, not the browser's
- The price changed while they were choosing
The ticket the kitchen cooks from
An order is a record of exactly what was chosen and what it cost, it moves from accepted to ready, and it still says the same thing next month.
5 tasks
- The counter sees tonight's orders, spelled out
- An order still says what it said when it was placed
- Marking an order on, and not marking it backwards
- A customer follows their own order and nobody else's
- Stopping an order, from either side
No halloumi tonight
An option can run out while the dish it belongs to does not, and nobody is sold a choice the kitchen has not got.
5 tasks
- Taking one thing off for the night
- A dish whose only cheese has gone
- Counting down the last six portions
- Twenty people, six portions
- It ran out while it was in their basket
Telling them
A customer hears about their own order without keeping a page open, and is never told something that has stopped being true.
5 tasks
- A receipt that says what they chose
- Told the moment it is ready
- Nothing said about an order that no longer exists
- Told when the kitchen cannot make what they ordered
- The counter is told an order has landed
Open for business
The restaurant is on the internet at its own address, taking real orders while the laptop it was built on is shut.
5 tasks
- A stranger can order without you
- Nothing it needs exists only on one laptop
- Messages that genuinely leave the building
- An address worth typing
- A release you can put back on a Friday night
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 two people who use it, and what finished means.
How a restaurant actually prices a dish
Domain you will not have: sizes, modifiers, why a size is not an extra, and what a menu price includes.
More commerce Blueprints.
Corner shop storefront
A small shop sells online. The shelf shows what is genuinely there, a basket survives the tab it was made in, the shop never takes money for a tin it does not have, and the buyer can follow their order until they pick it up.
Restock waitlist
A waiting list for what a small shop has run out of. People ask to be told when it returns, and when three come back the stock goes down the line in the order they asked: held long enough to act on, offered to nobody behind them until that window closes, and never offered to the same person twice.
Event ticketing with door check-in
Tickets for one event: they sell until the allocation runs out, every seat carries its own code, and the door admits each code once, whatever the signal is doing.
Build food ordering with options.
Start your free week. Adaeze runs your kickoff, and Lars reviews every pull request.