Kick off your next eCommerce experience with this Gatsby starter. It is based on the default Gatsby starter to be easily modifiable. Demo
This starter also includes credentials to a Shopify demo store so you can try it out immediately without having to start a store. To use your own just change the values inside of
If you have questions feel free to message me on Twitter 🤙🏻
- Product grid
- Product page
- Dynamic Inventory Checking
- Image optimization with Gatsby Image
- Styled Components with Emotion
- Google Analytics
📦 Dynamic Inventory Checking
The Shopify product inventory is being checked in realtime, therefore no rebuilding and redeploy is needed when a product goes out of stock. This avoids problems where products could still be available even though they're out of stock due to redeploy delay.
I'm using Emotion as styled components library, but the starter is purposely only sparsely styled so you don't have to remove unecessary code but can instead add your own styling immediately.
⚠️ Common problems
- You need to use the Shopify Storefront API credentials not the regular Shopify API.
- You need to have at least one published product on Shopify.
🚀 Quick start
Create a Gatsby site.
Use the Gatsby CLI to create a new site, specifying this starter.
# create a new Gatsby site using this starter gatsby new my-shopify-store https://github.com/AlexanderProd/gatsby-shopify-starter
Navigate into your new site’s directory and start it up.
cd my-shopify-store/ gatsby develop
Open the source code and start editing!
Your site is now running at
Note: You'll also see a second link:
http://localhost:8000/___graphql. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the Gatsby tutorial.
my-shopify-storedirectory in your code editor of choice and edit
src/pages/index.js. Save your changes and the browser will update in real time!
Connect your own Shopify store.
.envfiles located in the root directory of your page end replace the credentials with your own. Don't forget to restart Gatsby for your store to be loaded!
⚠️Make sure to use the Shopify storefront API credentials, not the regular Shopify API!
Checkout my other open-source project JAMStackBox to continuously deploy your Gatsby site on your own server.
🎓 Learning Gatsby
Looking for more guidance? Full documentation for Gatsby lives on the website. Here are some places to start:
For most developers, we recommend starting with our in-depth tutorial for creating a site with Gatsby. It starts with zero assumptions about your level of ability and walks through every step of the process.
To dive straight into code samples, head to our documentation. In particular, check out the Guides, API Reference, and Advanced Tutorials sections in the sidebar.
I'll happily merge any pull request to improve the starter.
- Convert Layout to function component.
- Add dynamic inventory checking to avoid re-building after every purchase.
- Add better styling.
- Add image optimization using Gatsby sharp plugin.
- Convert ProductForm to function component.