Skip to content

Repository files navigation

Finance Tracker

A full-stack finance tracking application that allows users to manage transactions, set budgets, and analyze financial data over time.


Overview

This application enables users to:

  • Record income and expenses
  • Categorize transactions
  • Set and monitor budgets
  • View financial summaries and trends

The system is built using Django REST Framework for the backend and React (Vite) for the frontend.


Live Application

Frontend: https://fj-be-r2-yash-pratap-singh-solanki.vercel.app Backend API: https://finance-tracker-3i9l.onrender.com


Features

Authentication

  • User registration and login
  • JWT-based authentication
  • Protected API endpoints

Transactions

  • Create income and expense entries
  • Assign categories
  • View transaction history
  • Filter by month or date range

Categories

  • Create and manage categories
  • Separate types for income and expense
  • Safe handling of category deletion

Budgets

  • Set budgets per category

  • Supported periods:

    • Weekly
    • Biweekly
    • Monthly
    • Quarterly
  • Track spending, remaining balance, and usage

Analytics

  • Total income, expenses, and savings
  • Category-wise breakdown
  • Net worth over time
  • Filtering by month and custom date ranges

Tech Stack

Backend:

  • Django
  • Django REST Framework
  • PostgreSQL (Render)

Frontend:

  • React (Vite)
  • Axios

Deployment:

  • Backend: Render
  • Frontend: Vercel

API Endpoints

Authentication:

  • POST /api/register/
  • POST /api/login/

Transactions:

  • GET /api/transactions/
  • POST /api/transactions/

Categories:

  • GET /api/categories/
  • POST /api/categories/

Budgets:

  • POST /api/budgets/
  • GET /api/transactions/budget_status/

Analytics:

  • GET /api/transactions/monthly_report/
  • GET /api/transactions/category_wise_report/
  • GET /api/transactions/net_worth/

Filters:

  • month=YYYY-MM
  • start=YYYY-MM-DD
  • end=YYYY-MM-DD

Local Setup

Backend

git clone <repo-url>
cd backend
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver

Frontend

cd frontend
npm install
npm run dev

Environment Variables

Backend:

SECRET_KEY=your_secret_key
DATABASE_URL=your_database_url

Frontend:

VITE_API_URL=https://finance-tracker-3i9l.onrender.com/api

Notes

  • The Render free instance may take time to respond after inactivity
  • The project focuses on functionality and API design

Author

Yash Pratap Singh Solanki Computer Science Engineering (AI/ML) Newton School of Technology