• Stars
    star
    12,320
  • Rank 2,640 (Top 0.06 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created about 11 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Mailchimp Open Commerce is an API-first, headless commerce platform built using Node.js, React, GraphQL. Deployed via Docker and Kubernetes.

Mailchimp Open Commerce (formerly Reaction Commerce)

Open Commerce Website | Twitter | Documentation | Discord | Discussions

Mailchimp Open Commerce is an API-first, headless commerce platform built using Node.js, MongoDB, and GraphQL. It plays nicely with npm, Docker and Kubernetes.

MOC Admin

Features

FastReturns data in split seconds, and faster queries mean faster web pages
ProvenOpen Commerce fuels sites doing 10's of thousands of orders per day with 100's of thousands of products
ComposableA flexible plugin system allows you to pick and choose which integrations work best for you
Multi-tenantHost multiple shops in the same installation
ScalableStart out with a single server and scale up to hundreds
Flexible ProductsAllows Products, with options and variants to fit a wide variety of needs
InventoryTrack inventory, allow or disallow backorders and more
ShippingIntegrate with a shipping rate provider or build your own custom table
TaxesIntegrate with a tax rate provider or build your own custom tax table
FulfillmentFlexible fulfillment system allows you create your own fulfillment methods
Order TrackingView and manage your orders in the included admin system
EmailsCustomizable templates for Order confirmations and more
OpenFully open source. Never be locked in again

Getting started

To start working with your own project built on Mailchimp Open Commerce you can start by using our new CLI. The CLI is the quickest and easiest way to develop on Open Commerce. It allows you to create and work with API, Admin, and Storefront projects all via the command line.

What you need

Install the CLI

First install the cli by running:

npm install -g reaction-cli

You can test to see if it has worked here by running:

reaction help

Creating a project

You can create your Open Commerce project by running:

reaction create-project api <your-project-name>

This will create an Open Commerce project in the directory . Once this is complete, navigate to the project directory:

cd <your-project-name> 

Install the project dependencies:

npm install 

Finally, start the server in development mode:

reaction develop api

Note: Optionally, from within the project-directory you may issue the above command without mentioning the project type and the CLI would check your package.json for the "projectType" and pick it up from there. This expects that the project itself was built using the latest version of the CLI as explained in the above steps.

Example, instead of the above command, you may skip mentioning 'api' and just use:

reaction develop

This will start the Open Commerce GraphQL server and Mongo Server. Press Ctrl+C to stop.

  • A sample custom plugin has been installed, and you should see its output in the logs. (Your Sample Plugin)
  • To add a new plugin based on our plugin template run:
reaction create-plugin api <your-plugin-name>

Validate whether the plugin was created in the custom-packages

cd custom-packages
cd <your-plugin-name>
npm install 

You now need to change back up to the root:

cd ../../

now you can run:

reaction develop

This plugin will now be loaded the next time you start Open Commerce.

Congratulations!! You're ready to start developing with Open Commerce

See the Complete CLI instructions for how to create your local storefront and admin.

Go to the complete installation instructions to see how to set up your store

API development

If you are working on core plugins (not developing plugins for your own installation) you should follow these instructions

What you need

Install PNPM

Clone and Start the source

git clone https://github.com/reactioncommerce/reaction.git
cd reaction
pnpm install
cp apps/reaction/.env.example apps/reaction/.env

Start dev-server with mongo on local:

## you must change MONGO_URL in the .env to mongodb://localhost:27017/reaction before start
pnpm run start:dev

Start dev-server with mongodb on docker

docker-compose up -d
pnpm run start:dev

Development Flow

  1. Make some changes in one or more packages.
  2. Add a changeset in that same PR.
  3. Repeat the process of making changes and adding changesets.
  4. Create PR

How to release

  1. Run release action to create Version PR. This PR will remove all changeset files, bump up packages versions, update CHANGELOG files.
  2. Merge Version PR into trunk, CircleCI will publish all the packages into npm.

Prerelease flows

  1. All PRs will be merged into prerelease branch before triggering PRERELEASE action.
  2. Before merging PRs into prerelease branch, please make sure that all the changesets are added.
  3. Manually trigger PRERELEASE action to create Version Packages (next) PR. After merged, the changeset/action will bump up packages versions as {next-version}-next.{number}, update CHANGELOG files.
  4. Merge Version Packages (next) PR into prerelease branch, action will publish all the packages into npm.

Get involved

Contribute

If you like what you see, star us on GitHub.

Find a bug, a typo, or something that’s not documented well? We’d love for you to open an issue telling us what we can improve! This project uses commitlint, please use their commit message format.

We love your pull requests! Check out our Good First Issue and Help Wanted tags for good issues to tackle. Check out our contributors guide for more information

License

Reaction is GNU GPLv3 Licensed

More Repositories

1

example-storefront

Example Storefront is Reaction Commerce’s headless ecommerce storefront - Next.js, GraphQL, React. Built using Apollo Client and the commerce-focused React UI components provided in the Storefront Component Library (reactioncommerce/reaction-component-library). It connects with Reaction backend with the GraphQL API.
JavaScript
606
star
2

meteor-security

A Meteor package: Logical MongoDB security
JavaScript
258
star
3

reaction-development-platform

Reaction Platform is the quickest way to run Reaction (reactioncommerce/reaction) and dependent services—Reaction Admin (reactioncommerce/reaction-admin) and Example Storefront (reactioncommerce/example-storefront)
Makefile
228
star
4

reaction-component-library

Example Storefront Component Library: A set of React components for the Example Storefront
JavaScript
97
star
5

reaction-admin

Reaction Admin
JavaScript
88
star
6

reaction-docs

Documentation for Reaction, Reaction Platform, Example Storefront, and other supporting services.
CSS
68
star
7

mongo-rep-set

A Dockerized MongoDB for creating a three node replica set across separate hosts.
Shell
56
star
8

meteor-google-spreadsheets

Google Spreadsheets for Meteor
JavaScript
53
star
9

reaction-swag-shop

JavaScript
38
star
10

proxy-traefik

A reverse proxy powered by Traefik for deploying the Reaction Platform on Digital Ocean
35
star
11

reaction-cli

A command line tool for working with Reaction Commerce.
JavaScript
33
star
12

meteor-ddp-login

Meteor DDP login package
JavaScript
27
star
13

reaction-example-plugin

Example files to accompany the "Creating a Plugin" tutorial in the Customization Guide
JavaScript
22
star
14

reaction-devtools

Developer tools for Reaction
JavaScript
21
star
15

reaction-api-base

ARCHIVED: Demo GraphQL API server.
JavaScript
21
star
16

redoc

redoc - generate documentation from multiple project repos.
CSS
20
star
17

reaction-file-collections

Reaction File Collection packages
JavaScript
19
star
18

base

A base Docker image for Reaction Commerce (https://hub.docker.com/r/reactioncommerce/base)
Dockerfile
19
star
19

reaction-example-theme

Reaction Commerce example theme package
JavaScript
15
star
20

reaction-hydra

OAuth2 token server. Integrated with the Reaction development platform.
Shell
14
star
21

reaction-feature-requests

Reaction Feature Requests
14
star
22

spiderable

Docker + Ports friendly Meteor Spiderable
JavaScript
14
star
23

data-factory

Mock data factory util for Reaction Commerce
JavaScript
13
star
24

api-core

This NPM package provides the `ReactionAPICore` class. Use this to build a NodeJS microservice that is compatible with the Reaction Commerce platform, or to build your main Reaction Commerce API if you don't want to start by forking the https://github.com/reactioncommerce/reaction project.
JavaScript
10
star
25

components-context

A system for injecting React components into other React components from a central components context
JavaScript
9
star
26

reaction-styleguide

A plugin for Reaction, transforming it into a style guide and UI component playground.
JavaScript
9
star
27

random

A drop-in replacement for the "random" Meteor package
JavaScript
8
star
28

reaction-main-street-theme

A theme for Reaction Commerce based on bootstrap 4
CSS
8
star
29

catalyst

Catalyst Design System: A design system built by Reaction Commerce for Reaction Admin.
JavaScript
8
star
30

ci-scripts

Scripts supporting our Continuous Integration (CI)
Shell
8
star
31

reaction-identity

JavaScript
8
star
32

kinetic

Kinetic introduces a suite of opinionated admin tools that internal teams can use to manage and run their stores on Open Commerce.
TypeScript
7
star
33

reaction-sample-data

A collection of different datasets for testing and evaluating
7
star
34

pricewatch

Watch prices for change notifications.
Clojure
6
star
35

api-utils

Utility functions for the Reaction API.
JavaScript
6
star
36

federated-gateway

An access aware federated GraphQL API gateway for the Reaction Commerce ecosystem
JavaScript
6
star
37

cli

A command line tool for creating, developing and deploying Open Commerce projects
JavaScript
5
star
38

generator-reaction

Project generator for Reaction NodeJS projects. Built with Yeoman.
JavaScript
5
star
39

reaction-eslint-config

Reaction Eslint Configuration
JavaScript
5
star
40

mongo-s3-backup

A Docker container to backup a MongoDB deployment to S3 and list or restore those backups.
Shell
5
star
41

schemas

The collection schemas API for Reaction Commerce
JavaScript
4
star
42

migrator

Command line interface for migrating MongoDB databases
JavaScript
4
star
43

api-plugin-pricing-simple

Simple Pricing plugin for the Reaction API
JavaScript
4
star
44

reaction-health-check

A package to create a health-check route
JavaScript
4
star
45

api-plugin-example

Boilerplate Example Plugin for moving internal plugins to their own NPM packages for the Reaction API
JavaScript
4
star
46

api-migrations

This project tracks current desired versions for all tracks used by the default Reaction Platform.
JavaScript
4
star
47

docs

4
star
48

nodemailer

Send e-mails with Node.JS
JavaScript
4
star
49

docker-base

Dockerfile
4
star
50

admin-core

JavaScript
4
star
51

micro-frontend-admin

JavaScript
3
star
52

design

Board for design issues
3
star
53

reaction-job-queue

Reaction job queue collection
JavaScript
3
star
54

api-plugin-shops

Shops plugin for the Reaction API
JavaScript
3
star
55

api-plugin-products

Products plugin for the Reaction API
JavaScript
3
star
56

api-plugin-inventory

Inventory service for the Reaction API
JavaScript
3
star
57

mailchimp-open-commerce-helm-chart

Helm chart for deploying Mailchimp Open Commerce ontop of Kubernetes/Openshift.
Mustache
3
star
58

reekwire

Workaround for using CommonJS named exports in ES modules.
JavaScript
3
star
59

api-plugin-payments-stripe

Stripe Payments plugin for the Reaction API
JavaScript
3
star
60

hydra-token

Command line interface that makes it quick and easy to get a valid access token for a Reaction GraphQL API
JavaScript
3
star
61

api-plugin-payments-example

Example Payments plugin for the Reaction API
JavaScript
2
star
62

api-plugin-i18n

i18n plugin for the Reaction API
JavaScript
2
star
63

api-plugin-authentication

Authentication plugin for the Reaction API
JavaScript
2
star
64

api-plugin-files

Files plugin for the Reaction API
JavaScript
2
star
65

api-plugin-taxes

Taxes plugin for the Reaction API
JavaScript
2
star
66

api-plugin-sitemap-generator

Sitemap Generator plugin for the Reaction API
JavaScript
2
star
67

api-plugin-email-smtp

Email SMTP plugin for the Reaction API
JavaScript
2
star
68

logger

Reaction Commerce application logging API.
JavaScript
2
star
69

api-plugin-email-templates

Email Templates plugin for the Reaction API
JavaScript
2
star
70

api-plugin-email

Email plugin for the Reaction API
JavaScript
2
star
71

admin

TypeScript
2
star
72

hooks

The event hooks API for Reaction Commerce
JavaScript
2
star
73

api-plugin-accounts

Accounts plugin for the Reaction API
JavaScript
2
star
74

api-plugin-job-queue

Job Queue plugin for the Reaction API
JavaScript
2
star
75

reaction-error

Reaction error messaging
JavaScript
2
star
76

api-plugin-payments-stripe-sca

Stripe payments using the Payments Intents API
JavaScript
2
star
77

reaction-questions

Ask us questions about Reaction
1
star
78

api-plugin-navigation

Navigation plugin for the Reaction API
JavaScript
1
star
79

kube-helm

A lightweight Docker image with various CLI tooling for working with Kubernetes.
Shell
1
star
80

api-plugin-payments

Payments plugin for the Reaction API
JavaScript
1
star
81

api-plugin-shipments-flat-rate

Shipping Rates plugin for the Reaction API
JavaScript
1
star
82

babel-remove-es-create-require

JavaScript
1
star
83

admin-plugin-products

JavaScript
1
star
84

example-payments-plugin

An example payments plugin for Reaction Commerce
JavaScript
1
star
85

api-plugin-translations

Translations plugin for the Reaction API
JavaScript
1
star
86

api-plugin-address-validation-test

Address Validation Test plugin for the Reaction API
JavaScript
1
star
87

api-plugin-surcharges

Surcharges plugin for the Reaction API
JavaScript
1
star
88

api-plugin-orders

Orders plugin for the Reaction API
JavaScript
1
star
89

api-plugin-authorization-simple

Simple Authorization plugin for the Reaction API
JavaScript
1
star
90

api-plugin-carts

Carts plugin for the Reaction API
JavaScript
1
star
91

db-version-check

Data version checker function compatible with @reactioncommerce/migrator
JavaScript
1
star
92

api-plugin-discounts-codes

Discount Codes plugin for the Reaction API
JavaScript
1
star
93

admin-plugin-example

Example Reaction Admin plugin
JavaScript
1
star
94

api-plugin-address-validation

Address Validation plugin for the Reaction API
JavaScript
1
star
95

api-plugin-taxes-flat-rate

Tax Rates plugin for the Reaction API
JavaScript
1
star
96

api-plugin-discounts

Discounts plugin for the Reaction API
JavaScript
1
star
97

api-plugin-settings

Settings plugin for the Reaction API
JavaScript
1
star
98

api-plugin-simple-schema

Simple Schema plugin for the Reaction API
JavaScript
1
star
99

api-plugin-system-information

System Information plugin for the Reaction API
JavaScript
1
star
100

api-plugin-tags

Tags plugin for the Reaction API
JavaScript
1
star