All BlueprintsCommerce

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.

L2–L4Level range
8Sprints
39Tasks
Backend and frontendBuilt as

What you’ll build.

By the last sprint

A real online shop. The shopkeeper adds stock from their phone. Customers fill a basket that is still there tomorrow, and only one person can buy the last tin. Orders get paid for, tracked and collected, and anything nobody came back for goes back on the shelf on its own.

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.

File uploads

You can upload a file from the browser, store it somewhere the application does not own, and show it again on a later request — and say where the bytes travelled and what the database actually holds.

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.

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.

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.

Background jobs

You can hand work to a worker, tell the user it is in progress, and show the result when it lands — and say what happens to that work if the process dies halfway.

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. 8 sprints, 39 tasks.

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

Sprint 01

Behind the counter

A shopper can make an account and come back to it, and the till is not something anybody can issue themselves.

4 tasks
  1. A shopper can register and land signed in
  2. Coming back tomorrow to the same account
  3. Leaving properly on a borrowed laptop
  4. The till cannot be issued from the sign-up form
Sprint 02

Stocking the shelves

The shopkeeper puts the shop's stock online from their phone, and a shopper can see what is for sale and how much is left.

5 tasks
  1. The shopkeeper puts a line of stock on the shelf
  2. A photograph taken on a phone, next to the delivery
  3. A shopper sees the shelf and what is left on it
  4. Taking a line off the shelf for good
  5. Only the shop can change the shelf
Sprint 03

The basket

A basket outlives the tab it was made in, follows a shopper into their account when they sign in, and shows today's prices.

5 tasks
  1. Putting things in a basket and changing your mind
  2. The basket is still there tomorrow
  3. Two baskets, one person, when they sign in
  4. The basket charges today's price, and says when it moved
  5. A basket is not a promise, and it has to say so
Sprint 04

The last one on the shelf

Money is taken, the count goes down by exactly what was bought, and two shoppers buying the last tin at the same instant produce one order and one refusal.

5 tasks
  1. A basket becomes an order somebody has paid for
  2. The shelf goes down when the money is taken, and not before
  3. The count can never go below zero
  4. Two shoppers buy the last tin at the same instant
  5. What the shopper who lost the last tin sees
Sprint 05

Held, not sold

Starting to pay holds the stock for long enough to finish, and a checkout nobody finished gives it back.

5 tasks
  1. Opening the checkout holds the stock for a stated time
  2. Stock somebody is paying for is not available to anybody else
  3. A claim that ran out stops the shopper before the money, not after
  4. Walking away from a checkout gives the stock back
  5. The shopkeeper counts the shelf while people are buying
Sprint 06

Where the order is

An order moves from paid to ready to collected, the shopper can see where it is, and cancelling puts the stock back.

5 tasks
  1. A shopper can see where their own order is
  2. The shopkeeper works through the day's orders
  3. An order only moves in ways that make sense, and the moves are kept
  4. Cancelling an order puts the stock back on the shelf
  5. Cancelled at the same instant it was being put together
Sprint 07

When the shop is shut

Lapsed holds go back on the shelf and the shopper hears their order is ready, with nobody at the shop pressing anything.

4 tasks
  1. Lapsed holds go back on the shelf with nobody looking
  2. Work that runs twice does no harm
  3. The shopper hears that their order is ready
  4. When the unattended work stops, somebody finds out
Sprint 08

Open for business

The shop is on the internet at its own address, with data that survives a restart, mail that leaves, and a way back from a bad release.

6 tasks
  1. A stranger can reach the shop without you
  2. Nothing the shop needs exists only on the laptop
  3. Mail that genuinely leaves
  4. The shelf keeps itself honest on the host too
  5. An address worth typing, that a browser does not warn about
  6. A release that can be undone, and knowing when the shop is down

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 shop, who uses it, and what finished means.

What a count means

On hand, held and available are three different numbers, and confusing them is most stock bugs.

Build corner shop storefront.

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