Skip to content

Latest commit

 

History

History
91 lines (64 loc) · 2.21 KB

README.md

File metadata and controls

91 lines (64 loc) · 2.21 KB
runme
id version
01HPAJC552GMKWKBEBA49MSSCP
v2.2

Project setup steps:

1] Clone the repository. For updated code, check branch: ProductionDeployment

2] Intitial requirements:

NodeJS, NPM

3] Install all project dependencies:

npm install

4] Add .env file. Replace '*******' with credentials.

Sample-

   //JWT secret
   AUTH_KEY = "************************"

   //Razorpay credentials
   RAZORPAY_KEY = "************************"
   RAZORPAY_SECRET = "************************"

   //mail client credentials
   MJ_APIKEY_PUBLIC = "************************"
   MJ_APIKEY_PRIVATE = "************************"
   SIB_SENDER_EMAIL = "**********@*****.com"
   SIB_SENDER_NAME = "ExpenseTracker*****"

   //AWS S3 credentials
   AWS_S3_KEY = "************************"
   AWS_S3_SECRET = "************************"
   AWS_S3_BUCKET = "************************"
   EXPENSE_PER_PAGE = 5

   BACKEND_ADDR = "http://**********:3009"
   
   //MongoDB credentials for NoSQL implementation
   MONGODB_CONN_STR = "mongodb+srv://*******************@cluster0.ijrpm3b.mongodb.net/expenseTracker?retryWrites=true&w=majority"

   ACCEPTED_ORIGINS = '["http:localhost:3000"]'


   //DB credentials if intend to use SQL Implementation
   DB_NAME = "**************"
   DB_USERNAME = "root"
   DB_PASSWORD = "*************"
   DB_HOST = "*************"

   APP_PORT = "3000"

5] Start the server

npm start app.js

Note: Ensure database is already setup in mongodb.

Tech stack used : JavaScript, HTML, CSS
Frameworks used : Express, Bootstrap
Deployment : AWS ec-2
CI-CD : Jenkins
Storage : MongoDB(Production Deployment branch), MySQL(old deployment on master branch, deployment AWS RDS), AWS S3 bucket
ODM library: Mongoose
ORM library: Sequelize (old deployment on master branch)
Token based authentication : JWT

App features :
Integrated payment module : Razorpay API
Dynamic data visualization : chart.js
Dynamic pagination
Report generation
Leaderboard and expense categorization