MERN Marketplace 2.0 is an open-source, MIT-licensed online marketplace application built on the MERN stack — MongoDB, Express, React, and Node.js — and it is intended for developers and teams who want a working, readable reference implementation of a multi-vendor e-commerce platform, including real-time auction bidding.
What it is
MERN Marketplace 2.0 is a full-stack JavaScript web application that implements an online marketplace with seller accounts, product search and suggestions, a shopping cart, order management, Stripe payment processing, and a live auction powered by Socket.io. It is the second edition of the project, written for the book Full-Stack React Projects — Second Edition, and it supersedes the earlier code that the README points to for anyone still looking for the first edition; the first edition source lives on the master branch. The stack is the standard MERN combination — React on the front end, Express and Node on the server, MongoDB as the datastore — with Stripe handling money movement and Socket.io carrying the auction events.
The concrete problem it solves is the absence of a complete, working marketplace example in the MERN ecosystem that goes beyond a toy CRUD app. Most learning material stops at product listings and a cart; this project continues into the parts that are actually hard to get right: separate seller accounts, order lifecycle management, payment capture through Stripe with a Stripe Connect Client ID for connected sellers, and a live auction where bids must propagate to all connected clients in real time. It replaces the first edition code as the maintained reference, and within the book it replaces a generic skeleton app that readers extend into a finished marketplace.
Key capabilities
- Seller accounts, distinct from ordinary buyer accounts, as a first-class part of the data model.
- Product search with suggestions, so listings can be found before a full results page is loaded.
- Shopping cart and order management covering the path from adding an item to placing and tracking an order.
- Payment processing with Stripe, configured through a Stripe Connect Client ID and Stripe API keys in
config/config.js.
- Live auction with Socket.io, giving real-time bidding rather than a page-refresh polling model.
- A single development command,
npm run development (or yarn development), serving the application on localhost:3000.
- Dependency installation through either
npm install or yarn, matching the two package managers the README supports.
Who uses it and how
- Developers working through Full-Stack React Projects — Second Edition, who build this marketplace chapter by chapter as the real-time bidding exercise in the book.
- Engineers who need a reference implementation of Stripe Connect payments alongside a seller-account model, rather than payment code isolated in a tutorial snippet.
- Teams evaluating whether Socket.io is the right transport for a bidding feature, using the running application as a concrete demonstration.
- Readers comparing the sibling applications built on the same stack — MERN Skeleton, MERN Social, MERN Classroom, MERN Expense Tracker, MERN Mediastream, and MERN VR Game — to see how one codebase shape is adapted to six different domains.
- Anyone who wants to inspect the behaviour before running anything, using the hosted demonstration at
marketplace2.mernbook.com.
Getting started
Clone the repository, make sure MongoDB is running, update config/config.js with Stripe test API keys and a Stripe Connect Client ID, then run npm install or yarn followed by npm run development or yarn development and open localhost:3000. A live demonstration instance is hosted at http://marketplace2.mernbook.com/ for anyone who wants to try it without installing the stack locally.
How it compares
Among the applications the README lists as built on the same stack, this is the commerce entry: MERN Skeleton is the base that others extend, MERN Social, MERN Classroom, MERN Mediastream, MERN Expense Tracker, and MERN VR Game each occupy a different domain, and this project is the one that adds money, sellers, and real-time bidding. It is therefore the closest thing in that family to a production-shaped e-commerce application, while still sharing the conventions, structure, and learning-oriented intent of its siblings.
When to use it — and when not to
A self-hoster must operate MongoDB, a Node.js runtime matching the versions the README pins (Node 13.12.0, npm 6.14.4 or Yarn 1.22.4, MongoDB 4.2.0), and a Stripe account with test data before the payment paths are meaningful. Anyone who wants a managed, deploy-and-forget storefront, or who does not want a Stripe dependency, should look elsewhere. The project ships as a repository to clone rather than a published package or container image, its version pins are dated, and it carries 17 open issues, so it is best treated as a strong reference and starting point rather than a maintained platform.
project readme (upstream, from github) — read inline
MERN Marketplace 2.0
An online marketplace application with seller accounts, product search and suggestions, shopping cart, order management, payment processing with Stripe, and live auction with Socket.io - developed using React, Node, Express and MongoDB.

What you need to run this code
- Node (13.12.0)
- NPM (6.14.4) or Yarn (1.22.4)
- MongoDB (4.2.0)
- Stripe account with test data
How to run this code
- Make sure MongoDB is running on your system
- Clone this repository
- Update config/config.js with your test values for Stripe API keys and Stripe Connect Client ID
- Open command line in the cloned folder,
- To install dependencies, run
npm install or yarn
- To run the application for development, run
npm run development or yarn development
- Open localhost:3000 in the browser
More applications built using this stack
Learn more at mernbook.com
Get the book
Learn MERN stack development by building modern web apps using MongoDB, Express, React, and Node.js

React combined with industry-tested, server-side technologies, such as Node, Express, and MongoDB, enables you to develop and deploy robust real-world full-stack web apps. This updated second edition focuses on the latest versions and conventions of the technologies in this stack, along with their new features such as Hooks in React and async/await in JavaScript. The book also explores advanced topics such as implementing real-time bidding, a web-based classroom app, and data visualization in an expense tracking app.
Full-Stack React Projects will take you through the process of preparing the development environment for MERN stack-based web development, creating a basic skeleton app, and extending it to build six different web apps. You'll build apps for social media, classrooms, media streaming, online marketplaces with real-time bidding, and web-based games with virtual reality features. Throughout the book, you'll learn how MERN stack web development works, extend its capabilities for complex features, and gain actionable insights into creating MERN-based apps, along with exploring industry best practices to meet the ever-increasing demands of the real world.
Things you'll learn in this book:
- Extend a MERN-based application to build a variety of applications
- Add real-time communication capabilities with Socket.IO
- Implement data visualization features for React applications using Victory
- Develop media streaming applications using MongoDB GridFS
- Improve SEO for your MERN apps by implementing server-side rendering with data
- Implement user authentication and authorization using JSON web tokens
- Set up and use React 360 to develop user interfaces with VR capabilities
- Make your MERN stack applications reliable and scalable with industry best practices
If you feel this book is for you, get your copy today!