Reaction is an API-first, headless commerce platform built using Node.js, React, GraphQL. Deployed via Docker and Kubernetes.
Reaction is a headless commerce platform built using Node.js, React, and GraphQL. It plays nicely with npm, Docker and Kubernetes.
Follow the documentation to install Reaction with Reaction Platform for all supported operating systems.
bin/setup # do this after initial clone and after every pull or checkout docker-compose up -d # starts a MongoDB container and a Reaction API container docker-compose logs -f api # view Reaction API container logs
To stop the API and the MongoDB server, enter
nvm use # nvm install if prompted npm i -g npm npm install bin/setup # do this after initial clone and after every pull or checkout npm run start:dev
bin/setup docker-compose run --rm api npm run test:integration # Test all mutations and queries docker-compose run --rm api npm run test:integration:query # OR test queries only docker-compose run --rm api npm run test:integration:mutation # OR test mutations only docker-compose run --rm api npm run test:integration:file:watch -- # OR test one file
CTRL+Cto interrupt the test run.
docker-compose up -d mongo npm install npm run test:integration # Test all mutations and queries npm run test:integration:query # OR test queries only npm run test:integration:mutation # OR test mutations only npm run test:integration:file:watch -- # OR test one file
CTRL+Cto interrupt the test run.
docker build . -t test-api
dc up -d mongo docker run --env-file ./.env -p 3000:3000 --network reaction.localhost -it test-api:latest
Use an external GraphQL client to test http://localhost:3000/graphql. GraphQL Playground isn't served on GET requests because it's in production mode.
:star: 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!
Want to request a feature? Use our Reaction Feature Requests repository to file a request.
Help Wantedtags for good issues to tackle.
Pull requests should pass all automated tests, style, and security checks.
Your code should pass all acceptance tests and unit tests. Run
docker-compose run --rm reaction npm run testto run the test suites in containers. If you're adding functionality to Reaction, you should add tests for the added functionality.
We require that all code contributed to Reaction follows Reaction's ESLint rules. You can run
docker-compose run --rm reaction npm run lintto run ESLint against your code locally.
We also request that you follow the our pull request template
Get more details in our Contributing Guide.
We use the Developer Certificate of Origin (DCO) in lieu of a Contributor License Agreement for all contributions to Reaction Commerce open source projects. We request that contributors agree to the terms of the DCO and indicate that agreement by signing-off all commits made to Reaction Commerce projects by adding a line with your name and email address to every Git commit message contributed:
Signed-off-by: Jane Doe
You can sign-off your commit automatically with Git by using
git commit -sif you have your
user.emailset as part of your Git configuration.
We ask that you use your real full name (please no anonymous contributions or pseudonyms) and a real email address. By signing-off your commit you are certifying that you have the right to submit it under the GNU GPLv3 License.
We use the Probot DCO GitHub app to check for DCO sign-offs of every commit.
If you forget to sign-off your commits, the DCO bot will remind you and give you detailed instructions for how to amend your commits to add a signature.
Reaction is GNU GPLv3 Licensed