All BlueprintsCommerce

Second-hand marketplace

A place to sell the things you no longer want. Sellers put them up with photographs, buyers ask about them in a thread attached to the item, and the moment one is sold it stops wasting everybody else's time. Both sides are members of the public, either of them can behave badly, and the product is the only thing standing between them.

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

What you’ll build.

By the last sprint

A place to sell things you no longer want. Sellers list items with photos. Buyers find them, ask questions in a thread only those two can read, and hear about replies without sitting on the page. Sold items disappear for everybody, and anything reported comes down.

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.

Search and filtering

You can search a list by keyword, combine that with filters, and say what the database does to answer the query — including which part uses an index and which part cannot.

Comments and replies

You can store threaded comments, render a thread without a query per comment, and handle a comment deleted with replies under it.

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.

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.

Moderating what gets published

You can hold content for review, let a moderator approve or reject it, and show the author what state theirs is in.

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, 40 tasks.

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

Sprint 01

Who you are dealing with

Somebody can make an account, come back to it, and be looked at by a stranger before they deal with them.

5 tasks
  1. Anybody can make an account and land signed in
  2. Coming back tomorrow, and leaving a shared laptop
  3. A profile a stranger can look at before dealing with you
  4. Repeated wrong passwords stop being worth trying
  5. Moderator accounts exist, and cannot be self-issued
Sprint 02

Something to sell

Somebody can put an item up for sale with photographs of it, and take it down again.

5 tasks
  1. A seller can put one item up for sale
  2. A listing carries photographs of the actual thing
  3. A file from a stranger is not what it says it is
  4. Your own listings in one place, and nobody else's to edit
  5. Taking a listing down, and putting it back up
Sprint 03

Finding it

Somebody can find another person's item among everything else that is for sale.

5 tasks
  1. Everything for sale, on one page, newest first
  2. Searching by what the thing is called
  3. Narrowing by price, condition, category and distance
  4. Page two does not repeat page one
  5. Nothing matched, and the page still says something useful
Sprint 04

Asking about it

A buyer can ask the seller about one item, in a thread only the two of them can read.

5 tasks
  1. A buyer can ask the seller about a listing
  2. The conversation shows the item it is about
  3. One inbox for the things you are buying and selling
  4. Nobody but the two of them can read it
  5. A listing that has gone leaves the conversation standing
Sprint 05

Telling the other person

The other person finds out a message is waiting without sitting on the page, and can stop being told.

5 tasks
  1. A new message reaches somebody who is not looking
  2. A count of what is waiting, right wherever you look
  3. Being told less, without disappearing
  4. A notification that points at something that is gone
  5. When nobody has answered, both of them can see it
Sprint 06

Sold

A seller marks an item sold, it stops showing to everybody, and only one buyer can be the one who got it.

5 tasks
  1. A seller marks it sold, and it stops showing
  2. Holding it for somebody who says they are coming
  3. The other buyers hear it from the product
  4. Two buyers, one bicycle, and only one of them gets it
  5. A sold item cannot quietly become unsold
Sprint 07

Behaving badly

Anybody can report a listing, a message or a person, and what is reported comes down.

5 tasks
  1. Reporting a listing, a message or a person
  2. A queue a moderator can actually work
  3. Taking down something that is already out there
  4. Banning a person, and deciding what happens to their things
  5. What the product cannot see, it cannot protect
Sprint 08

In front of strangers

It is on the internet at its own address, and a release that turns out to be wrong can be undone while people are mid-deal.

5 tasks
  1. A stranger can reach it without you
  2. The photographs are still there after the next deploy
  3. Values that only existed on your laptop
  4. Mail that genuinely leaves, from an address worth typing
  5. A release that turns out to be wrong, on a Saturday

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 strangers it sits between, and what finished means.

How a second-hand sale actually works

Domain you will not have: why listings go stale, why nobody answers, and what trust is made of when neither side has any power.

Build second-hand marketplace.

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