Skip to content

ReactBricks/nextjs-commerce-rb

Repository files navigation

Deploy with Vercel

Next.js Commerce

A high-perfomance, server-rendered Next.js App Router ecommerce application.

This template uses React Server Components, Server Actions, Suspense, useOptimistic, and more.

React Bricks integration

With React Bricks, you can edit the store pages and product details pages in a visual way.
React Bricks will keep this integration repository up-to-date with the Next.js Commerce repository.

NextJsCommerce_RB_Editing_Short_opt.mp4

In this branch you find the Shopify version (demo).

For Medusa, see the Medusa branch (demo)

React Bricks Setup

In order to use this project with React Bricks visual headless CMS, you'll need to create a free React Bricks account, create a React Bricks App from the Dashboard and set the React Bricks App credentials in the .env file:

  • API_KEY="xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx"
  • NEXT_PUBLIC_APP_ID="xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx"
  • NEXT_PUBLIC_ENVIRONMENT="main"
  • REACT_BRICKS_REVALIDATE="1" (in production rise this value to 600 to leverage caching)

Shopify Setup

To set up the Shopify Store, you may follow the Vercel and Shopify Integration guide, with the following exceptions:

  • You don't need to create pages like "About us", "Privacy" etc. in Shopify, because you can create them in React Bricks
  • You don't need to create the footer menu in Shopify, as it is managed in React Bricks
  • You need to create a page in React Bricks for each product, ensuring the "slug" matches the product slug on Shopify (this step won't be required any more in the future, as we'll automate it).

Note: Looking for Next.js Commerce v1? View the code, demo, and release notes.

Providers

Vercel will only be actively maintaining a Shopify version as outlined in our vision and strategy for Next.js Commerce.

Vercel is happy to partner and work with any commerce provider to help them get a similar template up and running and listed below. Alternative providers should be able to fork this repository and swap out the lib/shopify file with their own implementation while leaving the rest of the template mostly unchanged.

Note: Providers, if you are looking to use similar products for your demo, you can download these assets.

Integrations

Integrations enable upgraded or additional functionality for Next.js Commerce

  • Orama (Demo)

    • Upgrades search to include typeahead with dynamic re-rendering, vector-based similarity search, and JS-based configuration.
    • Search runs entirely in the browser for smaller catalogs or on a CDN for larger.
  • React Bricks (Demo)

    • Edit pages, product details, and footer content visually using React Bricks visual headless CMS.

Running locally

You will need to use the environment variables defined in .env.example to run Next.js Commerce. It's recommended you use Vercel Environment Variables for this, but a .env file is all that is necessary.

Note: You should not commit your .env file or it will expose secrets that will allow others to control your Shopify store.

  1. Install Vercel CLI: npm i -g vercel
  2. Link local instance with Vercel and GitHub accounts (creates .vercel directory): vercel link
  3. Download your environment variables: vercel env pull
pnpm install
pnpm dev

Your app should now be running on localhost:3000.

Expand if you work at Vercel and want to run locally and / or contribute
  1. Run vc link.
  2. Select the Vercel Solutions scope.
  3. Connect to the existing commerce-shopify project.
  4. Run vc env pull to get environment variables.
  5. Run pnpm dev to ensure everything is working correctly.

Vercel, Next.js Commerce, and Shopify Integration Guide

You can use this comprehensive integration guide with step-by-step instructions on how to configure Shopify as a headless CMS using Next.js Commerce as your headless Shopify storefront on Vercel.