Skip to content

Krish2005tech/Finance_Tracker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 42.0%
  • C++ 30.3%
  • HTML 18.7%
  • CSS 9.0%