Note: This project is beta quality. We don't advise using it in production.
A GraphQL-powered, PWA, single-page application storefront for Saleor.
- Headless ecommerce storefront built with GraphQL, Apollo Client, React and Typescript
- Offline mode (beta)
- Saleor GraphQL API integration
- Single-page application experience
- Braintree Payment Gateway integration
See the public demo of Saleor Storefront!
Or launch the demo on a free Heroku instance.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
-
Node.js 10.0+
-
A running instance of Saleor.
To run the storefront, you have to set the
API_URI
environment variable to point to the Saleor GraphQL API. If you are running Saleor locally with the default settings, setAPI_URI
to:http://localhost:8000/graphql/
.
Clone the repository:
git clone https://github.com/mirumee/saleor-storefront.git
Enter the project directory:
cd saleor-storefront
To use the official stable release, checkout to a release tag:
$ git checkout 2.10.4
See the list of all releases here: https://github.com/mirumee/saleor-storefront/releases/
If you want to use the latest development version, checkout to the master
branch:
$ git checkout master
Install NPM dependencies:
npm i
Run the development server:
npm start
Go to http://localhost:3000
to access the storefront.
If you want to run Cypress tests, make sure that all dependecies (including Cypress
) are installed by running the install command.
npm i
Following environment variables are required to be set in order to be able to run tests properly:
API_URI
- GraphQL API address.CYPRESS_USER_NAME
- username (email) forStorefront
user.CYPRESS_USER_PASSWORD
- for the user mentioned above.
If you are runninng the Storefront from the perspective of Docker
container, then you can run tests using following commands:
Headless mode:
cy:run
Cypress UI mode:
cy:open
If you want to run tests against your local development environment then use following commands:
Headless mode:
test:e2e:run
Cypress UI mode:
test:e2e:dev
This project is licensed under the BSD-3-Clause License - see the LICENSE file for details