A GraphQL-powered, NextJs-based, PWA storefront for Saleor. IMPORTANT: This project is [DEPRECATED] in favor of saleor/react-storefront soon to become our default demo and storefront starter pack.
The Saleor Storefront is a GraphQL-powered, PWA, single-page application storefront for Saleor. It is a headless e-commerce storefront built with GraphQL, Apollo Client, React, Next.js, and Typescript. The storefront provides a seamless single-page application experience and includes integration with the Saleor GraphQL API. It also has offline mode capability and supports integration with the Braintree Payment Gateway.
To install the Saleor Storefront, follow these steps:
NEXT_PUBLIC_API_URI
environment variable to point to the Saleor GraphQL API. If running Saleor locally with the default settings, the NEXT_PUBLIC_API_URI
is set to http://localhost:8000/graphql/
. To change it, either create a .env.local
file and add it there or set an environment variable using the export command.http://localhost:3000
.To compile the app, you can use the following commands:
npm run build
npm run build && npm run export
npm run build && npm run start
If you want to run Cypress tests, make sure all dependencies (including Cypress) are installed by running the install command. Set the required environment variables for running the tests properly. If running the storefront from a Docker container, use the provided commands for running tests in headless or UI mode. If running tests against a local development environment, use the appropriate commands.
The Saleor Storefront is a GraphQL-powered, PWA, single-page application storefront that provides a seamless shopping experience through its integration with the Saleor GraphQL API. It is built using modern web technologies like GraphQL, Apollo Client, React, Next.js, and Typescript. The storefront offers features such as offline mode, Braintree Payment Gateway integration, and is constantly evolving with updates and improvements. It serves as a demonstration of how Saleor can be used and handles different cases, but it is not ready to be used as a starter.