How to deploy in production

Deploy Api-Server, Admin Web Dashboard, Mobile App in Production

Installation Steps

Api Server

  1. run cd shopping-cart-api in terminal

  2. Set 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}/dashboard

  3. Create an account on mlab, then Create a database on mlab, copy connection string and paste it in .env against the key CONNECTION_STRING. Read more about how to use mlab here

  4. run npm install or yarn install to install packages

  5. Run pm2 start app.js in terminal to start server

  6. You 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

  7. 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.

  8. 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

  1. run cd shopping-cart-admin in terminal

  2. Install packages by npm install or yarn install

  3. update server_url in /config/config.js with the ip/domain of where you hosted api in last step

  4. replace "homepage": "https://ecommero.com/dashboard" in package.json with the url where you are going to deploy your admin.

  5. run npm run build it 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.

  6. copy build folder into your api folder

  7. restart api server by pm2 restart <App Id>. App id can be found by running pm2 list

  8. you can now access admin dashboard on www.domain.com/dashboard

Analytics Dashboard

  1. Explore demo version on https://amplitude.com get amplitude key and replace it with amplitudeApiKey in app.json of mobile app.

  2. You can further explore dashboard by following amplitude documentation. https://developers.amplitude.com/

Last updated