Skip to content

A MERN full stack app Expense management system in which user can register and then login and keep/add their expenses by category like weekly, monthly and yearly. For live demo click to below link.

Notifications You must be signed in to change notification settings

Prakashsaw/Expense-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

77 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Expense Management System

🌐 GitHub Repo

/~https://github.com/Prakashsaw/Expense-Management-System

πŸš€ Live Demo

https://expense-management-system-prakash.netlify.app/

πŸ“Œ Description

The Expense Management System is a web-based application designed to help users efficiently track and manage their financial transactions.
It provides features like user authentication, expense tracking, and data visualization to ensure a seamless budgeting experience.

πŸ”Ή Key Functionalities:

  • User Authentication: Secure login & registration with email verification.
  • Password Security: Bcrypt encryption for passwords and JWT token-based authentication.
  • Password Recovery: Forgot password functionality with email-based reset link.
  • Expense Management: Add, edit, delete, and categorize expenses with filtering options.
  • Financial Insights: View expenses weekly, monthly, yearly, and through custom date ranges.
  • Data Analytics: Expense visualization with charts & graphs.

πŸ›  Tech Stack

Frontend:

  • React.js, Bootstrap, Ant Design, CSS

Backend:

  • Node.js, Express.js, Nodemailer

Database:

  • MongoDB

βš™οΈ Run Locally

Step 1: Clone the project

git clone /~https://github.com/Prakashsaw/Expense-Management-System.git

Step 2: Navigate to the project directory

cd Expense-Management-System

Step 3: Install dependencies

Install dependencies for the frontend

cd client/
npm install

Install dependencies for the backend

cd server/
npm install

Step 4: Set up environment variables

Create a .env file inside the server/ directory and add the following:

MONGO_URL=
PORT=

BCRYPT_SALT=
JWT_SECRETE_KEY=
EXPIRE_IN=

EMAIL_HOST=
EMAIL_PORT=
EMAIL_USER=
EMAIL_PASS=
EMAIL_FROM=

FAST2SMS_API_KEY=

Step 5: Start the application

Start the frontend

// Open a new terminal
cd client
npm run start

Start the backend

// Open a new terminal
cd server
npm run start

Step 6: Access the app

Once the setup is complete, the app will be running on your local system.


πŸ”₯ Features

  • πŸ”’ Secure User Authentication: Register, log in, and log out securely.
  • πŸ“§ Email Verification: Verify accounts via a confirmation link sent to the email.
  • πŸ”‘ Password Management: Forgot password functionality with email reset link.
  • πŸ“ User Profile Management: Update profile details and change passwords after login.
  • πŸ’° Transaction Management:
    • Add, edit, and delete financial transactions with confirmation prompts.
    • Categorize transactions into income or expenses.
  • πŸ“Š Financial Overview:
    • View transaction history weekly, monthly, and yearly.
    • Filter transactions by custom date range.
    • Filter by income, expenses, or both.
  • πŸ“ˆ Data Analytics: Interactive graphs & charts for expense tracking.

πŸ“Έ Screenshots

Authentication & User Management

Feature Screenshot
Homepage Home Page
User Sign Up Sign Up
User Lofin Login Page
Forgot Password Forgot Password
User Profile Menu User Profile Menu
Update User Profile Update Profile
Change User Password Change Password

Expense Management

Feature Screenshot
Expense Home Page Expense Homepage
Add Expense Add Expense
Filter Expense Filter Expenses
Edit and Update Expense Update Expense
Delete Expense Warning Delete Expense Warning
Expense Analytics Expense Analytics

Contact Us

Feature Screenshot
Contact Us Contact Us
Copy Right Copy Right Footer

πŸ›  Made By


πŸ“ License & Agreement

License

This project is licensed under the MIT License.
You are free to use, modify, and distribute this software as long as you include the original license.

Usage Agreement

By using this software, you agree to the following:

  • You will not use this project for any illegal or unethical activities.
  • If modified and redistributed, proper credit must be given to the original creator.
  • The software is provided "as-is", without any guarantees of functionality or security.

🌟 If you like this project, don't forget to star the repo! ⭐