Skip to content

RitikaSen27/personal-expense-tracker

Repository files navigation

Personal Expense Tracker

A modern web application to track personal expenses with budget monitoring and analytics.

Files

  • app.py - Flask web application
  • main.py - Command-line version (legacy)
  • expenses.csv - CSV file to store expense data
  • templates/ - HTML templates for the web interface
  • generate_data.py - Script to generate sample expense data

Quick Start

  1. Install Dependencies:

    pip install -r requirements.txt

    Or manually:

    pip install flask pandas matplotlib
  2. Run the Web Application:

    python app.py
  3. Open your browser and go to:

    http://127.0.0.1:5000
    

Features

💰 Expense Tracking

  • Add expenses with date, category, and amount
  • View all expenses in a searchable table
  • Real-time budget limit checking

📊 Budget Management

  • Set daily budget limits for each category
  • Automatic alerts when limits are exceeded
  • Visual progress bars showing budget usage

📈 Analytics & Reports

  • Interactive charts and graphs
  • Daily expense reports
  • Category-wise spending analysis
  • Monthly spending trends

🎯 Smart Alerts

  • Daily budget limit warnings
  • Over-budget notifications
  • Spending insights and recommendations

Categories

The app includes these predefined categories with suggested daily budgets:

  • Food: ₹500/day
  • Transportation: ₹800/day
  • Entertainment: ₹1000/day
  • Shopping: ₹1500/day
  • Bills: ₹3000/day
  • Healthcare: ₹1500/day
  • Education: ₹1200/day

Usage Guide

Adding Expenses

  1. Click "Add Expense" from the sidebar
  2. Select date, category, and enter amount
  3. The app will automatically check budget limits

Viewing Reports

  1. Use "Daily Report" to see expenses for a specific date
  2. Check "Analytics" for charts and insights
  3. View all expenses in "View Expenses"

Managing Budgets

  1. Go to "Settings" to adjust daily budget limits
  2. Get real-time feedback on budget usage

Sample Data

To generate sample expense data for testing:

python generate_data.py

This creates 3,192 random expenses spanning from Jan 1, 2025 to Apr 1, 2026.

Technology Stack

  • Backend: Python Flask
  • Frontend: HTML5, CSS3, Bootstrap 5, JavaScript
  • Data: Pandas for data manipulation
  • Charts: Matplotlib for visualizations
  • Storage: CSV file (easily replaceable with database)

Development

The application uses:

  • Flask for web framework
  • Bootstrap 5 for responsive UI
  • Font Awesome for icons
  • Pandas for data processing
  • Matplotlib for chart generation

About

a personal expense tracker which helps to track expenses both daily and monthly along with alerts if it crosses particular budget limits

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors