Chord has a starter that allows you to get a fully functional ecommerce site up and running in a few minutes. Our starter is built on the Gatsby framework, so we'll use the Gatsby CLI.
This guide assumes you already have Node.js and Git installed on your machine. If you don't, there are some helpful instructions in Gatsby's documentation.
Configure access to Chord's private Github repositories
Share your Github username with the Chord team to gain access to Chord's Github repositories. You'll need to do two things:
- Make sure you have access to the starter repository at https://github.com/chordcommerce/gatsby-starter-performance. Reach out to Chord for access with your Github username if you do not.
- Configure your local npm to install Chord's packages from GitHub Packages:
- Go to https://github.com/settings/tokens and click Generate new token. Make sure you select the read:packages scope. Copy the token.
- If you don't already have one, create a .npmrc file in your home directory (touch ~/.npmrc).
- Append the following to ~/.npmrc, replacing the <YOUR PERSONAL ACCESS TOKEN> with the Github token you just created:
This means that any npm packages with the @chordcommerce scope will be installed from Github Packages instead of the npm public registry. If you have any trouble on this step, see Github's documentation on configuring npm for use with Github Packages.
Create a new site
Click the "Use this template" button on the starter Github repository to create a new Github repository in your account with the same files and folders, or fork the repo. Then clone your new repo onto your local machine:
Configure your site's environment
You'll need to populate this .env file with some environment variables, including your Shopify storefront access token and credentials to your Contentful space. Talk to the Chord team to get these.
Start your development server
Install project dependencies:
After installation is complete, start the development server:
You can see your new site at http://localhost:8000. Hot reload is enabled by default.
That's it! You're off and running. ✨