How to deploy in production
Last updated
Was this helpful?
Last updated
Was this helpful?
app and extract it
Open terminal in extracted folder
run cd shopping-cart-api
in terminal
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
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
run npm install
or yarn install
to install packages
Run pm2 start app.js
in terminal to start server
You can further read about how to make it public or how to map it on your domain here
How To Secure Nginx with Let's Encrypt (SSL):
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
run cd shopping-cart-admin
in terminal
Install packages by npm install
or yarn install
update server_url
in /config/config.js
with the ip/domain of where you hosted api in last step
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.
copy build folder into your api folder
restart api server by pm2 restart <App Id>
. App id can be found by running pm2 list
you can now access admin dashboard on www.domain.com/dashboard
Analytics Dashboard
NOTE: For notifications to work on android you'll have to upload FCM token on expo server. Read more about it
replace "homepage": "" in package.json with the url where you are going to deploy your admin.
Explore demo version on get amplitude key and replace it with amplitudeApiKey in app.json of mobile app.
You can further explore dashboard by following amplitude documentation.