Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A headless Shopify PWA starter built on Gridsome and TailwindCSS, optimized for perfect Google Lighthouse scores.
Shopify PWA Starter for Gridsome is a headless ecommerce boilerplate that connects the Gridsome static site generator to a Shopify store via the Storefront API and outputs an optimized PWA storefront aiming for perfect Google Lighthouse scores.
This starter is a project template for building server-rendered static ecommerce sites with Gridsome and Shopify. It takes your Shopify store name and Storefront API token as configuration and generates a static PWA with product pages, search, and collection browsing. Built by jsappme, the starter is demonstrated live at gridsome-shopify.netlify.com and hosted on GitHub.
The stack includes Gridsome (a Vue.js static site generator), the gridsome-source-shopify plugin for pulling product data from Shopify, Apollo client for querying Storefront API, and TailwindCSS for styling. The README claims the starter is optimized to reach 4 x 100 scores on Google Lighthouse.
gridsome-source-shopify plugin, Apollo client, and TailwindCSS are wired together at the gridsome.config.js level.The README walks through a typical setup: install the Gridsome CLI, create a new project with gridsome create my-gridsome-site jsappme/gridsome-shopify-starter, create a private app in Shopify for Storefront API, set the GRIDSOME_SHOPIFY_STOREFRONT and GRIDSOME_SHOPIFY_STOREFRONT_TOKEN environment variables, and run gridsome develop to start a local server. The project can also be configured directly in gridsome.config.js.
Yes. It is published as an open-source boilerplate on GitHub, so you can use and modify it without paying a license fee.
Yes. The project requires access to the Shopify Storefront API, which means you must create a private app in your Shopify admin and copy the store name and API token into your environment variables.
You need to set GRIDSOME_SHOPIFY_STOREFRONT to your Shopify shop name (for example, my-store.myshopify.com) and GRIDSOME_SHOPIFY_STOREFRONT_TOKEN to your Storefront API access token. The README notes that these variables are prefixed with GRIDSOME_ so they are available to Apollo client-side.
The README recommends adding some collections in Shopify to best showcase the starter, but the store will still work with products alone.
