- Copy .env.example to .env and set the variables
- In your Shopify admin, go to Apps
- Manage private apps
- Create an app with permission to:
read and writeCustomersread and writeOrder Editingread and writeOrdersread and writeProductsread and writeFulfillment Services
- Copy the api key and secret to use on your .env file
NODE_ENV Your environment. It can be 'development' or 'production'
PROXY_APP_URL Example: https://your-app.ngrok.io
STORE_SETTINGS_KEY Example: company_abc, for available options check src/store/settings/settings.js
REQUEST_TOKEN_SECRET Used to make sure that a request is coming from the app
REQUEST_TOKEN_DURATION How long the token should be valid (in seconds)
LOCAL_STORAGE_KEY Local storage key. Example: bundleApp
EMPTY_STATE_IMAGE Use an public image example https://...
BUNDLE_API_URL Example "http://localhost:8080" this is the url for the API
BUNDLE_API_SECRET Secret used for the API app
SHOPIFY_API_SECRET Shopify API secret (this is the API Password in Shopify Admin)
SHOPIFY_API_VERSION Example: 2022-01
SHOPIFY_PRIVATE_APP_API_SECRET Create a private Shopify app and copy the password
SHOPIFY_MULTIPASS_SECRET Please enable multipass in Shopify and paste the secret
SHOPIFY_MULTIPASS_SHOP Default shop in case of this value have not being defined in the query string
SHOPIFY_BUNDLES_COLLECTION Will be the bundles' collection
SHOPIFY_PRODUCTS_COLLECTION Menu items
LOGO_URL Company's logo url starting with https://
PAGE_TITLE Example: QuickFresh
PAGE_DESCRIPTION Description for Shopify liquid (string)
SENTRY_DSN Sentry DSN
SENTRY_SAMPLE_RATE Sentry sample rate (example: 0)
SENTRY_ENVIRONMENT Sentry environment (example: local)
RECHARGE_API_TOKEN Token from Recharge platform
Env variable: SHOPIFY_PRODUCTS_COLLECTION
- In the Shopify Admin, go to `Settings``
- On the left menu, click on
Metafields,Variants - Add these metafields:
Net Carbs| Namespace and key:my_fields.net_carbs) | Measurement:Weight
Protein| Namespace and key:my_fields.protein) | Measurement:Weight
Calories| Namespace and key:my_fields.calories) | Measurement:Weight
Total Fat| Namespace and key:my_fields.total_fat) | Measurement:Weight
Subtitle| Namespace and key:nutrition.subtitle) | Measurement:Text (multi-line text)
Contains| Namespace and key:nutrition.contains) | Measurement:Text (multi-line text)
Ingredients| Namespace and key:nutrition.ingredients) | Measurement:Text (multi-line text)
Calorie Range| Namespace and key:nutrition.calorie_range) | Measurement:Text (single line text)
Average Macros| Namespace and key:nutrition.average_macros) | Measurement:Text (single line text)
Gluten Free| Namespace and key:nutrition.is_gluten_free) | Content Type:True or False
Dairy Free| Namespace and key:nutrition.is_dairy_free) | Content Type:True or False
Peanut| Namespace and key:nutrition.is_peanut_free) | Content Type:True or False
Spicy| Namespace and key:nutrition.is_spicy) | Content Type:True or False - Go back to On the left menu, click on
Metafields,Productsand add these metafields:
Bundle Key Points| Namespace and key:bundle-builder.balanced_bundle_key_points) | Measurement:Text (multi-line text)
Bundle Key Points| Namespace and key:bundle-builder.keto_bundle_key_points) | Measurement:Text (multi-line text)
Protein| Namespace and key:nutrition.balanced_protein) | Measurement:Text (single line text)
Protein| Namespace and key:nutrition.keto_protein) | Measurement:Text (single line text)
Net Carbs| Namespace and key:nutrition.balanced_net_carbs) | Measurement:Text (single line text)
Net Carbs| Namespace and key:nutrition.keto_net_carbs) | Measurement:Text (single line text)
Fat| Namespace and key:nutrition.balanced_fat) | Measurement:Text (single line text)
Fat| Namespace and key:nutrition.keto_fat) | Measurement:Text (single line text) - Go to your collection and add values to each metafield, for all your variants and products
Env variable: SHOPIFY_BUNDLES_COLLECTION
- In the Shopify Admin, go to
Collections - Select the collection that you configured for the env variable above
- Add these tags to the respect bundle(product):
7 Day with breakfast|7 Day5 Day with breakfast|5 Day3 Day with breakfast|3 Day
In one terminal, run:
It generates and watch the bundle.js file
In a second terminal run:
To start the react application with hot reloading run:
Runs the app in the development mode.
Open http://localhost:8080 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Builds the app for production to the public folder.
It generates a bundle.js file
Example:
-
Subpath prefix:
a -
Subpath:
proxy -
Proxy URL:
https://some-url.com- Development example: https://your-address.ngrok.io
- Enable multipass following the steps on this website: https://shopify.dev/api/multipass