This is a custom, embedded Shopify app that allows you to write Node.js code inside its dashboard, for webhooks that are sent by Shopify. Build on Shopify's Node.js and React.js template with the Shopify CLI 3.0. Uses Firebase's Firestore for data storage.
- The app is embedded, requesting both offline and online tokens, and meant for one shop only
- Proper monorepo structure, using NPM workspaces and a single node_modules folder (Shopify CLI will attempt to install dependencies in each package, so the
--skip-dependencies-installationargument is used on thedevscript) - Frontend and backend are separate according to Shopify docs, instead of nested according to the Shopify app template
- Actual React HMR support during development (server adds the plugin's preamble script to
index.html) - Auth routes are defined as routes, not middleware
- Heroku specific deployment scripts (
heroku-postbuild,start), since the CLI can no longer support Heroku deployment
- Firebase project with service account and Firebase rules set to disable all non-admin access
- Clone the repository
- Set up the Firebase project
- Create the
.envand set the variables, and configureshopify.app.toml - Install / create an account with Ngrok
- Run
npm installon the root directory - Run
npm run devon the root directory, to start the Shopify CLI - Setup the app with the CLI (Ngrok, app and store steps)
- When it's built, visit the generated link to install on the store and use the app
You can enable available topics on web/common/topic-list.js (don't forget to add the relevant scopes on shopify.app.toml and .env)
Test are not functional yet