Reaction is an API-first, headless commerce platform built using Node.js, React, and GraphQL. It plays nicely with npm, Docker and Kubernetes.
Reaction v2.0.0 is built as a truly headless commerce platform that decouples the Reaction backend services from the frontend. We’ve decoupled the storefront application from the API. Reaction platform consists of this reaction
project - which is now primarily our GraphQL API (and for the time being Reaction Admin and our identity provider) - alongside our new-to-2.0 Example Storefront, which connects with the Reaction application via GraphQL API to provide a customer-facing storefront.
Reaction comes with a robust set of core commerce capabilities right out of the box. And since anything in our codebase can be extended, overwritten, or installed as a package, you may also customize anything on our platform.
Check out the full list of Reaction features and release history for more info.
Follow the documentation to install Reaction with Reaction Platform for all supported operating systems.
- Developer documentation
- Docs: Introduction to Reaction: Concepts
- Swag Shop Tutorial
- Storefront UI Development Tutorial
- Storefront Component Library
- API documentation
- Engineering blog posts
- Gitter chat
- Report security vulnerabilities to mailto:[email protected]: Security reporting instructions
- Request features in this repository
⭐ 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.
We love your pull requests! Check our our Good First Issue
and Help Wanted
tags 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 test
to 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 lint
to run ESLint against your code locally.
Please follow the Reaction Code Style Guide. Check out our guides to JSDoc, Git, error handling, logging, and React.
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 <[email protected]>
You can sign-off your commit automatically with Git by using git commit -s
if you have your user.name
and user.email
set 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 Licensed.
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