Skip to content

An open-source storefront in React.js with Next.js. Built for Headless Commerce, using a modern stack with TypeScript, GraphQL, Apollo, and Tailwind CSS.

License

Notifications You must be signed in to change notification settings

Ion-Mobility/react-storefront

 
 

Repository files navigation

Deploy with Vercel Storefront Demo

Nextjs Storefront

Next.js Storefront

Starter pack for building performant e-commerce experiences with Saleor.
Website Docs Roadmap Twitter Discord Demo

Storefront Roadmap Discord Badge

Features

  • Next.js 14: File-based routing, React 18, Fast Refresh, Image Optimization and more.
  • App Router: Uses React Server Components, Data Cache, and async components.
  • TypeScript: Strongly typed codebase and GraphQL payloads with strict mode.
  • GraphQL best practices: Uses GraphQL Codegen and TypedDocumentString to reduce boilerplate and bundle size.
  • Customizable CSS: TailwindCSS can be extended or replaced with an alternative CSS solution.
  • Tooling included: Comes with ESLint, Prettier, Husky, Lint Staged, and Codegen preconfigured.

Global:

  • Channel switcher and Geo detection (coming soon)
  • Dynamic menu
  • Hamburger menu
  • SEO data

Checkout:

  • Single page checkout (including login)
  • Portable to other frameworks (doesn't use Next.js components)
  • Adyen integration
  • Stripe integration
  • Customer address book
  • Vouchers and Gift Cards

Product catalog:

  • Categories
  • Variant selection
  • Product attributes
  • Image optimization

My account:

  • Order history (coming soon)
  • Order completion
  • Order details

Quickstart

Important

To quickly get started with the backend, use a free developer account at Saleor Cloud.

Install the latest version of the Saleor CLI by running the following command:

npm i -g @saleor/cli@latest

Learn more about Saleor CLI.

Set up your local storefront development environment by running the storefront create command with --url parameter. It will create a clone, install dependencies, and connect with the provided Saleor instance.

saleor storefront create --url https://{your_cloud_instance}.saleor.cloud

Note

The minimum required version of Saleor CLI is 1.36.0.

Payments

Currently, Saleor Storefront supports payments via the Saleor Adyen App. To install and configure the payment app go to the "Apps" section in the Saleor Dashboard (App Store is only available in Saleor Cloud).

Warning

To configure the Adyen App, you must have an account with Adyen.

Note

Saleor Stripe App integration is a work in progress.

Development

Clone and repo and copy .env.example to .env:

cp .env.example .env

Edit .env and set NEXT_PUBLIC_SALEOR_API_URL to your Saleor GraphQL endpoint URL, e.g., https://example.saleor.cloud/graphql/.

Then, install pnpm and run the following command to install all dependencies in the repo:

pnpm i

To start the development server, run the following:

pnpm dev

The app is now running at http://localhost:3000.

Note

Saleor Storefront is a Next.js app. In case you are not familiar with Next.js, we recommend you to read the Next.js documentation (make sure you've selected "Using App Router" in the sidebar).

GraphQL queries and mutations:

After altering or creating new GraphQL queries in gql folder, you need to run the following command to generate types and javascript queries:

pnpm run generate

Preview content changes instantly (Draft Mode)

Visit http://{your-host}/api/draft to enable cookies that disable caching to preview catalog and content changes instantly. Learn more about the Draft Mode in Next.js docs.

About

An open-source storefront in React.js with Next.js. Built for Headless Commerce, using a modern stack with TypeScript, GraphQL, Apollo, and Tailwind CSS.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.9%
  • Other 0.1%