case study · 2019 · 2026

Contractor · Supplier: an equipment marketplace for contractors and suppliers

A small marketplace where contractors request construction equipment and suppliers bid to provide it, with separate dashboards for each role and bid acceptance.

role
Solo project
timeline
2019, updated 2026
stack
React, Node.js, Express, MongoDB, JWT
status
Live demo
Screenshot of Contractor · Supplier
01

What it does

  • Contractors create requests from an equipment list with a quantity and a needed-by date, then review the bids on each one.
  • Accepting a bid rejects the others and closes the request; bids can also be rejected one at a time.
  • Suppliers browse open requests from every contractor, place priced bids and track whether each is pending, accepted or rejected.
  • Email and password sign-up with strong password rules.
02

How it's built

  • A React front end with function components, hooks and React Router.
  • An Express API with Mongoose models for users, requests, bids and equipment, and JWT-based login.
  • A starter equipment list is seeded the first time the API connects to an empty database.
  • Deployed as one Render service, with Express serving both the API and the built React app.
03

Architecture

A single Express server handles the API and serves the React app.

  1. React client
  2. Express /api
  3. MongoDB
next projectRecipe Box