How to deploy in production
Deploy Api-Server, Admin Web Dashboard, Mobile App in Production
Installation Steps
Download Ecommero app and extract it
Open terminal in extracted folder
Api Server
run
cd shopping-cart-apiin terminalSet environment file (.env)
NODE_ENV=development PORT=8000 CONNECTION_STRING={DB Connection string} RESET_PASSWORD_LINK=http://localhost:{Admin Dashboard port no}/auth/reset/?reset= SERVER_URL=http://{local network IP address}:{port no}/ NOTIFICATION_ON_CLICK=http://{local network IP address}:{port no}/dashboardCreate an account on mlab, then Create a database on mlab, copy connection string and paste it in
.envagainst the keyCONNECTION_STRING. Read more about how to use mlab hererun
npm installoryarn installto install packagesRun
pm2 start app.jsin terminal to start serverYou can further read about how to make it public or how to map it on your domain here https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04
How To Secure Nginx with Let's Encrypt (SSL): https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04
If you have a different environment and previous instructions don't work for your requirement you can let us know we'll be happy to help you.
run this command in terminal on server
chmod -R 777 food-delivery-api/*. This gives permission to read/write files, it is needed to upload products and images on server
NOTE: For notifications to work on android you'll have to upload FCM token on expo server. Read more about it here
Admin Web Dashboard
run
cd shopping-cart-adminin terminalInstall packages by
npm installoryarn installupdate
server_urlin/config/config.jswith the ip/domain of where you hosted api in last stepreplace "homepage": "https://ecommero.com/dashboard" in package.json with the url where you are going to deploy your admin.
run
npm run buildit will create a build folder. here we can publish in many ways but we are going to mention one that we use if you want to know others you will find several tutorials on how to deploy react applications for production.copy build folder into your api folder
restart api server by
pm2 restart <App Id>. App id can be found by runningpm2 listyou can now access admin dashboard on
www.domain.com/dashboard
Analytics Dashboard
Explore demo version on https://amplitude.com get amplitude key and replace it with amplitudeApiKey in app.json of mobile app.
You can further explore dashboard by following amplitude documentation. https://developers.amplitude.com/
Last updated
Was this helpful?