Skip to content

🛒 A starter storefront & admin UI with Gatsby, Stripe, & Netlify Functions.

License

Notifications You must be signed in to change notification settings

ejhoovler/gatsby-starter-stripe

 
 

Repository files navigation

gatsby-starter-stripe

A starter to create and manage a storefront with Gatsby, Stripe, & Netlify Functions; includes cart, checkout, admin, and live data.

Features

  • Create and manage inventory through admin interface
  • Statically generate based on Stripe inventory
  • Dynamically update with live inventory & availability data
  • Checkout powered by Stripe
  • Serverless functions interact with Stripe API

Getting Started

  1. Create a new site from this starter

    gatsby new <project-name> https://github.com/brxck/gatsby-starter-stripe
  2. Setup Stripe

    This starter has an admin interface to manage your inventory, but the Stripe integration does not handle an empty account well. Before starting your site, you should create at least one product with one sku in Stripe.

    ⚠️ Cannot query field errors usually mean that a queried field is empty in all of your products/skus. Either define the field in your Stripe data, or remove it from the the GraphQL queries of allStripeSku.

  3. Configure API keys

    Rename .env.example to .env and fill with your Stripe API test keys. Don't commit this file to a public repo!

  4. Start development servers

    You will need to install and configure the Netlify CLI: npm install netlify-cli -g

    To start the development servers for Gatsby & Netlify Functions simply run Netlify Dev.

    netlify dev

    Your site is accessible at http://localhost:8888!

    ⚠️ Make sure to use the proxied Netilfy Dev server at :8888! Otherwise your Gatsby application will not be able to access your Netlify Functions.

  5. Start developing

    This starter aims to handle some of the plumbing needed to integrate Gatsby & Stripe. Everything else is left to you and your preferred methods.

    The source files for Netlify Functions are located at /src/functions, they are then built into the files in /functions. Visit the documentation for more information on their structure.

  6. Deploy to Netlify

    netlify deploy

    You will need to enable Netlify Identity for authentication into the admin area.

    If you want to deploy somewhere other than Netlify, you'll have to find another place to deploy the serverless functions in /functions, ex. AWS Lambda.

Contributing

Issues and pull requests welcome!

Acknowledgments

Thanks @njosefbeck for authoring and maintaining gatsby-source-stripe, which makes this starter possible!

About

🛒 A starter storefront & admin UI with Gatsby, Stripe, & Netlify Functions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 93.2%
  • CSS 6.8%