The Personal Finance Tracker is a web-based application built using the MERN stack (MongoDB, Express.js, React.js, Node.js) that helps users manage their income, expenses, and financial goals effectively. This application enables users to track their transactions, categorize expenses, visualize spending patterns, and maintain financial discipline.
- User Authentication: Secure user registration and login with JWT authentication.
- Transaction Management: Add, edit, and delete income and expense transactions.
- Categorization: Categorize transactions (e.g., Food, Rent, Salary, Entertainment).
- Dashboard & Insights: View financial summaries, charts, and spending trends.
- Filters & Sorting: Filter transactions based on date, category, and type.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT (JSON Web Token) for secure login
Ensure you have the following installed:
- Node.js & npm
- MongoDB (Local or Cloud e.g., MongoDB Atlas)
-
Clone the repository: [git clone https://github.com/Sakshamdharmik/personal-finance-tracker.git] cd personal-finance-tracker
-
Install dependencies: npm install # Install backend dependencies cd client && npm install # Install frontend dependencies
-
Setup environment variables:
- Create a
.env
file in the root directory and add: MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key
- Create a
-
Start the development server: npm run dev # Runs both frontend & backend concurrently
Method | Endpoint | Description |
---|---|---|
POST | /api/auth/register | Register new user |
POST | /api/auth/login | User login |
GET | /api/transactions | Get all transactions |
POST | /api/transactions | Add a new transaction |
PUT | /api/transactions/:id | Update a transaction |
DELETE | /api/transactions/:id | Delete a transaction |
- Add budgeting features
- Implement recurring transactions
- Multi-user support with shared accounts
- Integrate bank account API for auto transaction logging