
Expense Tracker System
Introduction:
The Expense Tracker System is a web-based application that helps users monitor and manage their income and expenses in a simple, intuitive, and efficient way. Using Node.js and Express on the backend and MongoDB as a NoSQL database, the system ensures scalability and performance. The front end, built using Bootstrap, ensures a responsive and user-friendly interface across all devices. This project is ideal for individuals who want better control over their finances and to visualize their spending patterns.
Objective:
The main aim of the Expense Tracker System is to:
-
Enable users to add and manage income and expenses.
-
Categorize transactions for better insights.
-
Visualize financial data through charts.
-
Offer real-time balance tracking.
-
Maintain user data securely through authentication.
User Roles:
-
Regular User:
-
Register/Login/Logout
-
Add income or expense entries
-
View financial summary
-
Edit or delete previous records
-
Filter and search transactions by category or date
-
-
Admin (optional):
-
View all users and transactions (for multi-user system)
-
Monitor system usage
-
Manage user accounts
-
Core Features:
Authentication System:
-
User registration and login using Express and sessions (or JWT)
-
Secure password storage using bcrypt hashing
-
Session or token-based login with timeout functionality
Add Transactions:
-
Input fields for amount, type (Income/Expense), date, category, and notes
-
Validation to ensure correct data entry
-
Option to update or delete transactions
Transaction History:
-
List of all transactions with filtering and sorting
-
Pagination support for long history
-
Search functionality for quick access
Financial Summary & Dashboard:
-
Display of current balance = Total Income - Total Expenses
-
Show monthly income and expenses separately
-
Charts using libraries like Chart.js or Google Charts
-
Pie chart for category-wise breakdown
-
Line/bar chart for monthly trends
-
Technology Stack:
Backend:
-
Node.js (runtime environment)
-
Express.js (web framework)
Database:
-
MongoDB (document-based NoSQL database)
-
Mongoose (MongoDB ORM for schema and queries)
Frontend:
-
HTML5, CSS3, Bootstrap 5
-
JavaScript (for dynamic behavior