A Node.js application for monitoring Shopify metafields, handling webhooks, sending email notifications, and integrating with MongoDB. Ready for deployment on AWS Elastic Beanstalk, with automatic SSL (Let's Encrypt) and custom domain support.
- Clone the repository and install dependencies:
npm install
- Copy
.env.exampleto.envand fill in your configuration:cp .env.example .env # Edit .env with your values - Start the application:
npm start
- Ensure your project contains:
package.json,index.js,Procfile,.env.example,.ebextensions/,.platform/hooks/postdeploy/
- Create a
Procfile(if it does not exist):web: node index.js - Zip the contents of your project directory (do not zip the root folder, only the files and subfolders inside).
- Upload the ZIP to Elastic Beanstalk using the AWS Console.
- Set environment variables in the EB console or via
.ebextensions/env.config. - (Optional) Configure a custom domain:
- Point your domain to the EB environment (A or CNAME record).
- Edit
.platform/hooks/postdeploy/01_certbot_ssl.shand setDOMAINandEMAIL. - The script will automatically obtain an SSL certificate from Let's Encrypt after deployment.
- HTTP→HTTPS redirection is configured in
.ebextensions/https-redirect.config. - Let's Encrypt SSL certificate is obtained automatically by the postdeploy hook.
- Edit domain and email in
.platform/hooks/postdeploy/01_certbot_ssl.sh.
All required environment variables are listed in .env.example.
If you need help with deployment or configuration, contact the project author.