A full-stack personal finance management application combining a C++ backend with a Node.js/Express web interface. Track expenses, manage budgets, and get personalized spending recommendations.
- Features
- Tech Stack
- Installation
- API Endpoints
- Project Structure
- Usage
- Prerequisites
- Security
- Contributing
- Support
- User registration and authentication
- Add and track transactions
- Set budgets by category
- View spending analytics
- Get personalized recommendations
- Category-wise expense breakdown
- Food
- Shopping
- Entertainment
- Personal
- Health
- Travel
- Miscellaneous
- C++ core engine
- File-based data persistence
- Custom data structures (doubly linked lists)
- Priority queue for recommendations
- Node.js
- Express.js
- HTML/CSS
- Session management
- REST APIs
- Clone the repository
git clone https://github.com/Luv-valecha/Finance_Tracker.git
cd financetracker- Install Node.js dependencies
npm install- Compile C++ backend
cd .\backend\
g++ -o finance_tracker main.cpp Login_system.cpp Transactions.cpp post_data.cpp get_data.cpp BudgetNRecommender.cpp- Create environment file
# .env
PORT=3000- Start the server
cd .\frontend\
node server.jsPOST /api/register - Register new user
POST /api/login - Login user
GET /api/logout - Logout userPOST /api/add-transaction - Add new transaction
GET /api/transactions - Get all transactions
GET /api/cattransactions - Get transactions by category
GET /api/daterangetransactions - Get transactions by date rangePOST /api/setbudget - Set category budgets
GET /api/categorywisespend - Get spending breakdown
GET /api/getrecommendation - Get spending recommendations├── backend/
│ ├── main.cpp
│ ├── Login_system.cpp/h
│ ├── Transactions.cpp/h
│ ├── Transhist.h
│ ├── post_data.cpp
│ ├── get_data.cpp
│ └── BudgetNRecommender.cpp
├── frontend/
│ ├── public/
│ │ ├── index.html
│ │ ├── register.html
│ │ └── dashboard.html
│ ├── routes/
│ │ └── api.js
│ └── server.js
├── package.json
└── README.md-
Register a new account at
/register -
Login at
/login -
Add transactions:
- Enter date
- Enter amount
- Select category
- Add description
-
View transactions:
- See all transactions
- Filter by category
- Filter by date range
-
Manage budget:
- Set category budgets
- Track spending vs budget
- View recommendations
- Node.js
- C++ compiler
- npm
- Password hashing
- Session-based auth
- Input validation
- Secure file operations
- Fork the repo
- Create feature branch
- Commit changes
- Push to branch
- Open pull request
For issues or questions, please open an issue in the repository.