All the APIs are developed in node js & frontend in vuejs
-
Please open the following ports
1000 port for frontend 1002 port for the webserver
-
if you want to set up the SSL we recommend using this URL and the following for Nginx
-
Install NodeJS
-
To configure any domain you have to set up the Nginx Reverse Proxy on your Ubuntu system, you can follow this article for more detail
https://www.hostinger.in/tutorials/how-to-set-up-nginx-reverse-proxy/
Make sure you set the port
1000
so that your configured domain opens the URL on that specific port
- To configure the mailjet you need to open the account on https://app.mailjet.com/signup (if not created)
- Once the account setup is completed you need to generate the API Keys(Public & Private)
- Follow this article https://javascript.plainenglish.io/how-to-send-emails-in-node-e5fb0a48d46d and check the section (In Mailjet & Additional Tips for domain verification process)
Following variables, you need to change as per your requirements in docker-compose.yml
VUE_APP_API_HOST_NAME
//used to communicate with the backendFRONT_URL
//used to communicate with frontendMJ_APIKEY_PUBLIC
// Mailjet Public KeyMJ_APIKEY_PRIVATE
// Mailjet Private keyMJ_SENDER_EMAIL
// Mailjet sender emailMJ_SENDER_NAME
// Mailjet sender name
-
Clone the repo
git clone https://github.com/raisingthefloor/rtf-easy123.git
-
Switch to main branch
git checkout main
-
Go inside the root directly and open
frontend
folder in terminalnpm install
Now go back to the root folder
-
Build docker image from source using the composer command
docker-compose build --no-cache
-
Run the docker image
docker-compose up -d
- Open Terminal and use this
curl
request to generate the Admin user
curl --location --request GET 'https://{{domain}}:1002/api/add-admin-user?name={{name}}&email={{email}}&password={{password}}'
For e.g
curl --location --request GET 'https://easy123.plenartech.com:1002/api/add-admin-user?name=Admin&[email protected]&password=adminuser@123'
Below are the all third-party libraries in the project
Backend
@googleapis/docs, @sentry/node, @sentry/tracing, bcrypt, cors, dotenv, express, express-validator, googleapis, jsonwebtoken, mimemessage, mongodb, mongoose, node-mailjet, pine
Frontend
@sentry/tracing, @sentry/vue, axios, bootstrap, core-js, cors, jquery, moment, sweetalert, vue, vue-i18n, vue-meta, vue-router, vue-toasted, vuex