explaingit

reactioncommerce/reaction

12,408JavaScriptAudience · developerComplexity · 4/5Setup · hard

TLDR

A discontinued open-source headless e-commerce platform (formerly Reaction Commerce, later Mailchimp Open Commerce) with a GraphQL API, MongoDB backend, multi-tenant support, and a plugin system for payments and shipping, no longer actively maintained.

Mindmap

mindmap
  root((Reaction))
    What it does
      Headless e-commerce
      GraphQL API
      Multi-tenant stores
    Tech Stack
      Node.js
      GraphQL
      MongoDB
      Docker
    Features
      Product management
      Order management
      Plugin system
    Status
      Discontinued
      Fork and self-host
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Fork the codebase as a starting point for a self-maintained headless e-commerce API

USE CASE 2

Study how a production-grade GraphQL e-commerce backend with a plugin system was architected

USE CASE 3

Spin up a local instance with Docker Compose to explore multi-tenant storefront organization

Tech stack

JavaScriptNode.jsGraphQLMongoDBDockerKubernetes

Getting it running

Difficulty · hard Time to first run · 1h+

Project is discontinued with no active support, requires Docker and Docker Compose locally, Kubernetes for production deployments.

In plain English

This repository is the source code for Mailchimp Open Commerce, an e-commerce platform that was originally called Reaction Commerce. It is now discontinued: the project description in the repo itself states that it has been shut down. The code remains publicly available, but it is no longer actively developed or supported. When it was active, Open Commerce was a platform for building online stores, designed to be used through an API rather than through a traditional all-in-one storefront. The architecture is called headless, which means the backend that handles products, orders, inventory, and checkout is separate from whatever front-end a developer chooses to build. The backend communicates through GraphQL, a structured query language for APIs, and runs on Node.js with MongoDB as the database. It was built to handle multi-tenant setups, meaning one installation could power multiple independent stores at the same time. The platform supported standard e-commerce features including product variants, inventory tracking, shipping rate integrations, tax providers, order management, and customizable email templates. It also had a plugin system so developers could swap in or out different payment, shipping, or tax providers without rebuilding the core. Development and deployment relied on Docker and Docker Compose for running the application locally, and Kubernetes was the intended path for larger production deployments. A command-line tool called reaction-cli was provided to help developers create new projects, generate plugin scaffolding, and start local development servers. Given the discontinuation notice, this codebase is mainly relevant as a historical reference or as a starting point if someone wanted to fork and self-maintain it. Active users looking for a similar open-source e-commerce API platform would need to look for alternatives, as there is no ongoing development or community support from the original maintainers.

Copy-paste prompts

Prompt 1
Clone the Reaction Commerce repo and start a local development environment using Docker Compose, walk me through each step
Prompt 2
Explain the GraphQL API structure of Open Commerce and how to query products, orders, and inventory
Prompt 3
How does the plugin system work in Reaction Commerce, show me how to swap in a custom payment provider
Prompt 4
What are the key things I would need to change to fork this discontinued codebase and maintain it for my own e-commerce store?
Open on GitHub → Explain another repo

← reactioncommerce on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.