Skip to content
Reaction is an API-first, headless commerce platform built using Node.js, React, GraphQL. Deployed via Docker and Kubernetes.
JavaScript Shell Dockerfile
Branch: trunk
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Merge branch 'trunk' into chore-kieckhafer-updatePlugins Apr 28, 2020
.github Fix comment block formatting Mar 31, 2020
.reaction Merge branch 'trunk' into chore-kieckhafer-updatePlugins Apr 28, 2020
.vscode chore: vs code Node debugger config Jan 2, 2020
bin chore: fix package link script issues May 20, 2020
public docs: update README and add Catalyst screenshot Jul 3, 2019
src chore: remove mockTypes no longer needed for testing Apr 24, 2020
tests tests: update handle on products to fix tests May 22, 2020
.dockerignore feat: remove Meteor and client code Oct 9, 2019
.editorconfig Release 1.3.0 (#2417) Jun 22, 2017
.env.example chore: reconfigure docker-compose networks Jan 30, 2020
.eslintignore chore: fix up eslintignore Jan 13, 2020
.eslintrc.cjs refactor: use eslintrc from api-utils Apr 3, 2020
.gitignore chore: use published image for docker-compose Jan 2, 2020
.gitmodules - core/server/products.js moved to reaction-catalog package; Jan 29, 2016
.hadolint.yaml Update hadolint rule affecting meteor npm install Mar 9, 2018
.npmrc chore: check Node version when npm installing Oct 21, 2019
.nvmrc feat: update to Node 12.14.1 Jan 14, 2020
.snyk remove snyk ignore Jul 17, 2019
CHANGELOG.md chore: fix package-link issues May 22, 2020
CODE_OF_CONDUCT.md docs: update docs links with `trunk` as the new branch Jan 23, 2020
CONTRIBUTING.md docs: update docs links with `trunk` as the new branch Jan 23, 2020
Dockerfile fix: copy plugins.json into prod image May 5, 2020
LICENSE.md Markdown cleanup Sep 26, 2017
README.md docs: update typo in readme Apr 16, 2020
babel.config.cjs chore: update babel and rename babel.config.js Jan 30, 2020
docker-compose.dev.yml chore: undo mistake dc dev commit Apr 16, 2020
docker-compose.yml feat: release 3.8.0 May 22, 2020
jest.config.cjs chore: rename navigation plugin Apr 29, 2020
package-lock.json fix: update api-utils Jun 3, 2020
package.json fix: update api-utils Jun 3, 2020
plugins.json chore: rename navigation plugin Apr 29, 2020

README.md

Reaction Commerce

Circle CI Gitter Open Source Helpers

Reaction is a headless commerce platform built using Node.js, React, and GraphQL. It plays nicely with npm, Docker and Kubernetes.

Reaction Admin

Getting started

Follow the documentation to install Reaction with Reaction Platform for all supported operating systems.

Start App in Docker Container (Recommended)

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 docker-compose down.

Start App Without Docker (Not Recommended)

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

CTRL+C to stop.

Run Integration Tests in Docker Container (Recommended)

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 -- <filename> # OR test one file

CTRL+C to interrupt the test run.

Run Integration Tests on Local Computer

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 -- <filename> # OR test one file

CTRL+C to interrupt the test run.

Build and Test a Production Image

Build:

docker build . -t test-api

Run:

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.

Get involved

Tutorials, docs & developer tools

Get help & contact the team

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!

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 Request guidelines

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.

Developer Certificate of Origin

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 <jane.doe@example.com>

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 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.

License

Reaction is GNU GPLv3 Licensed

You can’t perform that action at this time.