{"id":13515638,"url":"https://github.com/AlexanderProd/gatsby-shopify-starter","last_synced_at":"2025-03-31T05:30:40.375Z","repository":{"id":37175521,"uuid":"167841363","full_name":"AlexanderProd/gatsby-shopify-starter","owner":"AlexanderProd","description":"🛍 Simple starter to build a blazing fast Shopify store with Gatsby.","archived":false,"fork":false,"pushed_at":"2023-03-04T03:10:35.000Z","size":3523,"stargazers_count":420,"open_issues_count":24,"forks_count":96,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-29T03:11:41.381Z","etag":null,"topics":["ecommerce","gatsby-site","gatsby-starter","gatsby-starter-kit","gatsbyjs","react","reactjs","shopify","storefront-api"],"latest_commit_sha":null,"homepage":"https://gatsby-shopify-starter.alexanderhoerl.de","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexanderProd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-01-27T18:10:50.000Z","updated_at":"2025-02-15T23:47:08.000Z","dependencies_parsed_at":"2024-01-15T03:58:19.568Z","dependency_job_id":"71536669-8b87-46dd-8ea6-4f95be47ce86","html_url":"https://github.com/AlexanderProd/gatsby-shopify-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderProd%2Fgatsby-shopify-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderProd%2Fgatsby-shopify-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderProd%2Fgatsby-shopify-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexanderProd%2Fgatsby-shopify-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexanderProd","download_url":"https://codeload.github.com/AlexanderProd/gatsby-shopify-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246423527,"owners_count":20774795,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ecommerce","gatsby-site","gatsby-starter","gatsby-starter-kit","gatsbyjs","react","reactjs","shopify","storefront-api"],"created_at":"2024-08-01T05:01:13.951Z","updated_at":"2025-03-31T05:30:40.352Z","avatar_url":"https://github.com/AlexanderProd.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003c!-- AUTO-GENERATED-CONTENT:START (STARTER) --\u003e\n\u003ch1 align=\"center\"\u003e\n  \u003cimg alt=\"Gatsby\" src=\"resources/shopify+gatsby.png\" height=\"60px\" /\u003e\n  \u003cbr/\u003e\n  Gatsby Shopify starter\n\u003c/h1\u003e\n\n[![JamStackBox Status](https://jamstackbox.alexanderhoerl.de/badge/gatsby-shopify-starter)](https://github.com/AlexanderProd/jam-stack-box)\n\nKick off your next eCommerce experience with this Gatsby starter. It is based on the default Gatsby starter to be easily modifiable. [Demo](https://gatsby-shopify-starter.alexanderhoerl.de)\n\nUnfortunately Shopify prohibits to share access tokens in public repositories, therefore you have to to create your own Shopify Shop and put those credentials in the `template.env` file and rename it to `.env.development` as well as `.env.production`. There are two files if you want to use a different store for you development.\n\nTo obtain your own credentials you need the create a custom app in the Shopify frontend and enable the Storefront as well as the Admin API.\n\nIf you have questions feel free to message me on [Twitter](https://twitter.com/alexanderhorl) 🤙🏻\n\nCheckout [nureineburg.alexanderhoerl.de](https://nureineburg.alexanderhoerl.de) for a real public shop built with this starter, the code is also [public](https://github.com/AlexanderProd/nureineburg.de/).\n\n## 💎 Features\n\n- Cart\n- Product grid\n- Product page\n- Dynamic Inventory Checking\n- Image optimization with Gatsby Image\n- Styled Components with Emotion\n- Google Analytics\n- SEO\n\n### 📦 Dynamic Inventory Checking\n\nThe 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.\n\n### 🖌 Styling\n\nI'm using [Emotion](https://emotion.sh/docs/introduction) 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.\n\n## ⚠️ Common problems\n\n- You need to use the Shopify Storefront API credentials not the regular Shopify API.\n- You need to have at least one published product on Shopify.\n\n## 🚀 Quick start\n\n1.  **Create a Gatsby site.**\n\n    Use the Gatsby CLI to create a new site, specifying this starter.\n\n    ```sh\n    # create a new Gatsby site using this starter\n    gatsby new my-shopify-store https://github.com/AlexanderProd/gatsby-shopify-starter\n    ```\n\n1.  **Start developing.**\n\n    Navigate into your new site’s directory and start it up.\n\n    ```sh\n    cd my-shopify-store/\n    gatsby develop\n    ```\n\n1.  **Open the source code and start editing!**\n\n    Your site is now running at `http://localhost:8000`!\n\n    _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](https://www.gatsbyjs.org/tutorial/part-five/#introducing-graphiql)._\n\n    Open the `my-shopify-store` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time!\n\n1.  **Connect your own Shopify store.**\n\n    Open both `.env` files 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!\n\n    ⚠️ Make sure to use the Shopify storefront API credentials, not the regular Shopify API!\n\n## Deploy\n\nCheckout my other open-source project [JAMStackBox](https://github.com/AlexanderProd/jam-stack-box) to continuously deploy your Gatsby site on your own server.\n\n## 🎓 Learning Gatsby\n\nLooking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.org/). Here are some places to start:\n\n- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.org/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process.\n\n- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.org/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar.\n\n## 📌 ToDo\n\nI'll happily merge any pull request to improve the starter. 🙂\n\n- [x] Convert Layout to function component.\n- [x] Add dynamic inventory checking to avoid re-building after every purchase.\n- [x] Add better styling.\n- [x] Add image optimization using Gatsby sharp plugin.\n- [x] Convert ProductForm to function component.\n\u003c!-- AUTO-GENERATED-CONTENT:END --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexanderProd%2Fgatsby-shopify-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAlexanderProd%2Fgatsby-shopify-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlexanderProd%2Fgatsby-shopify-starter/lists"}