Skip to content

Latest commit

 

History

History
177 lines (145 loc) · 3.74 KB

File metadata and controls

177 lines (145 loc) · 3.74 KB

Finance Tracker

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.

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

Navigation

Features

Core Features

  • User registration and authentication
  • Add and track transactions
  • Set budgets by category
  • View spending analytics
  • Get personalized recommendations
  • Category-wise expense breakdown

Available Categories

  • Food
  • Shopping
  • Entertainment
  • Personal
  • Health
  • Travel
  • Miscellaneous

Tech Stack

Backend

  • C++ core engine
  • File-based data persistence
  • Custom data structures (doubly linked lists)
  • Priority queue for recommendations

Frontend

  • Node.js
  • Express.js
  • HTML/CSS
  • Session management
  • REST APIs

Installation

  1. Clone the repository
git clone https://github.com/Luv-valecha/Finance_Tracker.git
cd financetracker
  1. Install Node.js dependencies
npm install
  1. Compile C++ backend
cd .\backend\
g++ -o finance_tracker main.cpp Login_system.cpp Transactions.cpp post_data.cpp get_data.cpp BudgetNRecommender.cpp
  1. Create environment file
# .env
PORT=3000
  1. Start the server
cd .\frontend\
node server.js

API Endpoints

Authentication

POST /api/register - Register new user
POST /api/login - Login user
GET /api/logout - Logout user

Transactions

POST /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 range

Budget & Analytics

POST /api/setbudget - Set category budgets
GET /api/categorywisespend - Get spending breakdown
GET /api/getrecommendation - Get spending recommendations

Project Structure

├── 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

Usage

  1. Register a new account at /register

  2. Login at /login

  3. Add transactions:

    • Enter date
    • Enter amount
    • Select category
    • Add description
  4. View transactions:

    • See all transactions
    • Filter by category
    • Filter by date range
  5. Manage budget:

    • Set category budgets
    • Track spending vs budget
    • View recommendations

Prerequisites

  • Node.js
  • C++ compiler
  • npm

Security

  • Password hashing
  • Session-based auth
  • Input validation
  • Secure file operations

Contributing

  1. Fork the repo
  2. Create feature branch
  3. Commit changes
  4. Push to branch
  5. Open pull request

Support

For issues or questions, please open an issue in the repository.