BigCommerce x Catalyst
Catalyst is the composable, fully customizable headless ecommerce storefront framework for BigCommerce built with Next.js and BigCommerce’s GraphQL Storefront API.
Catalyst is a fully functional BigCommerce storefront that is optmized for SEO, accessibility, and performance. Catalyst is designed to take care of the essentials so you can focus your efforts on building your brand and adding those special features that take storefronts to the next level.
To see Catalyst in action, check out the working demo.
Catalyst and Makeswift can be used in conjunction, or independent of one another. While they are separate solutions, both are built to be heavily integrated with one another. This guide serves as a supplement to the documentation available on the Catalyst Getting Started documentation.
Prerequisites
1. Node.js version 20.x
Catalyst currently supports Node.js version 20.x (click here to download Node.js)
2. Corepack-enabled pnpm
Node.js version 20.x ships with Corepack by default; you should be able to run corepack enable from your terminal to meet this prerequisite (more information on the official Node.js Corepack documentation)
3. Git version 2.35.x or later:
4. A BigCommerce store or sandbox
You can create a trial store or spin up a developer sandbox to meet this prerequisite. If you already have a BigCommerce store, that will work fine too.
5. A Makeswift workspace.
If you have not created a Makeswift workspace, do so ahead of time here.
6. Permission to create API accounts on your store
In order to allow Catalyst to authenticate with your BigCommerce store, you’ll need to make sure that your user account on the subject store has been granted the Create store-level API Accounts
permission detailed in our documentation on High-Risk Permissions. If you are the assigned store owner of the store, you have these permissions implicitly.
7. A GitHub account
You can sign up for a free GitHub account on the official GitHub signup page.
Steps
Run the CLI
Use the Catalyst CLI to pull down the latest version of the main
branch of the monorepo. The CLI will:
- Clone the Catalyst monorepo.
- Add a remote pointing to the upstream Catalyst repository.
- Enable Corepack so that you can use pnpm as your package manager.
- Install Catalyst Dependencies.
- Set up environment variables.
This command will prompt you to name your project, as well as connect it to a BigCommerce store.
Change into your new project directory:
Fork the Catalyst repo
Next, you’ll want to fork the Catalyst repo. This will enable you to create and mange your own deployments. Navigate to the Catalyst repo and click Fork at the top of the page.
GitHub will prompt you to choose a name for your fork; for the purposes of this guide, we’ll refer to the name of the fork as <YOUR_FORK_NAME>
. You should replace <YOUR_FORK_NAME>
in all of the commands below with your actual fork name.
Back in your terminal, add your fork as a remote to your local repository:
Fetch the Makeswift integration branch
The Makeswift Catalyst integration is available in a branch in the upstream GitHub repository.
Push this branch to your forked repository on Github.
Update environment variables
Update the root .env.local
file with your
Site API Key located under your Host settings in Makeswift.
Add the key to your .env.local
file with the following key name:
Save your .env.local
file.
Run your development server
Install dependencies to match the current branch
Start the development server
Update host settings
Within the Makeswift Site Settings, update the host to the URL of your locally running project. By default, it should be http://localhost:3000
.
Explore
Now that you have a running Catalyst website within Makeswift, you can begin custom development on your Catalyst application and visually edit your pages in Makeswift.
We recommend familiarizing yourself with Makeswift by going through the Product Quickstart before you begin any development. There are some out-of-the-box components that leverage the best of Next.js that can help drive some decisions around what custom components you’ll want to create.
When you do identify custom components you’ll need to create, checkout out our our App Router or Pages Router developer documents to learn how to register your components with Makeswift.
Was this page helpful?