/shopify-node-app-starter

๐Ÿš€๐Ÿš€ A Shopify embedded app starter template, with updated dependencies, session storage, app context and examples for basic functionalities.

Primary LanguageJavaScriptMIT LicenseMIT

Shopify Node App Starter

This is a starter template for embedded shopify apps based on the shopify cli node app.

Contributions to create the perfect shopify app boilerplate are very welcome! ๐Ÿคฉ

Changes to the default Shopify node app starter

  • Updated dependencies (@apollo/client instead of react-apollo, react 17, next.js 12, polaris 7)
  • MongoDB session storage already set up (full credit goes to Harshdeep Singh Hura)
  • Ready to use online and offline accesstokens simultaneously
  • App context set up. Can be used to store data, that only needs to be fetched once, but is needed in multiple places
  • Link component to convert <a> tags to Next Links for relative paths
  • Routepropagation set up
  • Example API with verifyRequest() is set up
  • Relay pagination example
  • Webhook registration and persistance after server restart
  • Examples for creating, displaying and canceling of app subscriptions
  • Loading screen while the app context is loading

Boilerplate to create an embedded Shopify app made with Node, Next.js, Shopify-koa-auth, Polaris and App Bridge React.

TODO

  • GDPR webhooks

Installation

  • Fork and clone repo
  • Create an app in the shopify partner dashboard
  • Run shopify app connect to connect the app to shopify
  • Run npm install to install dependencies
  • Add ENCRYTION_STRING and MONGO_URL to your .env file (.env example is in the root directory)
  • Run shopify app serve to start dev enviroment

Requirements

Usage

Same usage as apps created with the Shopify CLI

Important

API routes have to start with /api/. All relative paths starting with /api/ will be converted to absolute paths by a next.js rewrite

License

This respository is available as open source under the terms of the MIT License.