Skip to content

Full stack expense tracking application. App features token based authentication, Premium feature modules, Integrated payments module, dynamic pagination, dynamic visualization using chart.js, leader board, report generation. Technologies NodeJS, Express, JS, HTML, CSS, Bootstrap.

Notifications You must be signed in to change notification settings

anujeet98/ExpenseTracker

Repository files navigation

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

About

Full stack expense tracking application. App features token based authentication, Premium feature modules, Integrated payments module, dynamic pagination, dynamic visualization using chart.js, leader board, report generation. Technologies NodeJS, Express, JS, HTML, CSS, Bootstrap.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published