An Expense Tracker is a financial tool or application designed to help individuals or businesses monitor and manage their expenses.We can categorize our expenses and make informed decisions about their budgeting and spending habits.I have build this project as part of my learning express and MVC architecture.It mainly aims at understanding the rendering of different pages and gives you the insight of using payment systems and sending cross website links for resetting passwords.
ExpenseTrackerDemo.mp4
Here're some of the project's best features:
- Adding Expenses
- Pagination
- Reset Password Link using sendin blue
- Make payments using razorpay
- Buy Membership
- LeaderBoard (Compare total prices among different users)
Before running the application, you need to set up the following environment variables:
- RAZORPAY_KEY_ID: Your Razorpay Key ID.
- RAZORPAY_KEY_SECRET: Your Razorpay Key Secret.
- IAM_USER_KEY: Your IAM User Key for AWS S3.
- IAM_USER_SECRET: Your IAM User Secret for AWS S3.
- BUCKET_NAME: The name of your AWS S3 bucket.
- API_KEY: Your API Key for accessing external services.
- HOST_IPADDRESS: The IP address of the host where your application is running.
To set these environment variables:
-
Create a file named
.env
in the root directory of the project(backend folder). -
Copy the following lines into the
.env
file and replace the placeholder values with your actual credentials:RAZORPAY_KEY_ID='your-razorpay-key-id' RAZORPAY_KEY_SECRET='your-razorpay-key-secret' IAM_USER_KEY='your-iam-user-key' IAM_USER_SECRET='your-iam-user-secret' BUCKET_NAME='your-s3-bucket-name' API_KEY='your-api-key' HOST_IPADDRESS='http://localhost:3001'
-
Save the
.env
file.
Now, your environment is configured, and you can proceed to run the application.
1. Clone the repository
git clone https://github.com/JulianToppo/ExpenseTracker.git
2.Locate the backend and frontend folders
cd backend
3. Installing node modules
npm install
4. Running server
npm start
5.Locate the frontend folders
cd frontend
cd expensetracker
6. Installing node modules
npm install
7. Running server
npm start
Technologies used in the project:
- TaiwindCss
- Javascript
- NodeJS
- Express
- React
- MongoDB