Skip to content

Repository files navigation

EXPENSE TRACKING SYSTEM PRO (INDIA)

An enterprise-quality financial management application designed specifically for Indian currency (₹), payment modes (UPI, NetBanking, Cards, Wallet, Cash), and banking-style analytical workflows.


📌 PROBLEM STATEMENT

Managing personal and small-business finances in India often involves tracking disparate payment methods (UPI apps like GooglePay/PhonePe, Credit Cards, NetBanking, Cash) across multiple categories (Groceries, Fuel, Bills, Mutual Funds, Salary). Without centralized tracking, real-time budget enforcement, and formal reporting, individuals face overspending and lack clear visibility into their monthly burn rate.

🎯 OBJECTIVES

  • Provide a banking-grade financial management system.
  • Enforce strict Indian Rupee (₹) formatting standards (e.g. ₹1,25,000).
  • Support real-time budget cap tracking with automated alerts.
  • Enable multi-format exports including professional PDF reports, Excel spreadsheets, and CSV ledgers.
  • Offer 1-click seeding of 1,000 realistic Indian transaction records for instant analytics demonstration.

📐 SYSTEM FLOW DIAGRAM

  START
    ↓
  User Authentication (Login / Register / Remember Me)
    ↓
  Dashboard Financial Overview
    ↓
  ├── Income Management (Salary, Business, Freelancing, Rental, Investment)
  ├── Expense Management (Food, Travel, Fuel, Bills, Medical, Shopping, etc.)
  ├── Monthly Budget Planner & Threshold Warnings
  ├── Advanced Search & Multi-Filters (Date Presets, Min/Max Amount, Txn ID)
  ├── Financial Reports Generator (Daily, Weekly, Monthly, Yearly)
  ├── Analytics & Visualizations (Bar, Pie, Line, Area Charts)
  ├── Exports Engine (PDF Statements, Excel Spreadsheets, CSV Data)
  └── Settings & Reset Utilities (Load 1000 Demo Data / Instant Zero Reset)
    ↓
  Logout / Terminate Session
    ↓
  END

🏛️ SYSTEM ARCHITECTURE DIAGRAM

+-------------------------------------------------------------------------+
|                    PRESENTATION LAYER (CustomTkinter / React)            |
|  [Dashboard] [Expense View] [Income View] [Budgets] [Search] [Analytics] |
+-------------------------------------------------------------------------+
                                    │
                                    ▼
+-------------------------------------------------------------------------+
|                       BUSINESS LOGIC & ENGINE LAYER                      |
|  [Auth Manager] [Budget Calculator] [PDF Exporter] [Excel Importer]     |
+-------------------------------------------------------------------------+
                                    │
                                    ▼
+-------------------------------------------------------------------------+
|                      DATA PERSISTENCE LAYER (SQLite3)                    |
|  [users table] [transactions table] [budgets table] [bills table]        |
+-------------------------------------------------------------------------+

🗄️ ER DIAGRAM & DATABASE SCHEMA DIAGRAM

+---------------------+       1 : N       +-----------------------+
|        USERS        | ----------------< |     TRANSACTIONS      |
+---------------------+                   +-----------------------+
| id (PK)             |                   | id (PK, TEXT)         |
| username (TEXT, UQ) |                   | user_id (FK, INT)     |
| email (TEXT, UQ)    |                   | type (TEXT)           |
| password_hash(TEXT) |                   | amount (REAL, ₹)      |
| full_name (TEXT)    |                   | category (TEXT)       |
+---------------------+                   | payment_mode (TEXT)   |
           │                              | date (TEXT, YYYY-MM-DD)|
           │ 1 : N                        | description (TEXT)    |
           ▼                              +-----------------------+
+---------------------+
|       BUDGETS       |
+---------------------+
| id (PK, INT)        |
| user_id (FK, INT)   |
| category (TEXT)     |
| monthly_limit(REAL) |
| month_year (TEXT)   |
+---------------------+

🧩 MODULE DIAGRAM

Expense_Tracking_System/
├── main.py              # Application lifecycle & main window frame
├── database.py          # SQLite3 parameterized queries & connection pools
├── login.py             # Login window UI & credential check
├── register.py          # Account registration & email validation
├── dashboard.py         # Summary metric cards, charts & quick actions
├── expense.py           # Expense CRUD operations & modal forms
├── income.py            # Income CRUD operations & category tracking
├── budget.py            # Budget planner & progress threshold indicators
├── history.py           # Transaction history & search index
├── reports.py           # Statement report generator
├── analytics.py         # Matplotlib / Recharts trend graphs
├── settings.py          # Profile management & reset triggers
├── pdf_export.py        # ReportLab / jsPDF autoTable exporter
├── csv_export.py        # OpenPyXL / XLSX import & export engine
├── theme.py             # Dark / Light theme styling rules
├── utils.py             # Indian Rupee formatting (formatINR) & helpers
└── requirements.txt     # Python dependencies

👥 USE CASE DIAGRAM

  Actor: User
   ├── Sign Up / Sign In
   ├── View Dashboard Overview (Income, Expense, Net Balance)
   ├── Record Income (Salary, Freelance, Business)
   ├── Record Expense (Food, Travel, Bills, Shopping)
   ├── Set Category Monthly Budgets
   ├── Perform Multi-Criteria Advanced Search
   ├── Generate & Download PDF Statements
   ├── Load 1,000 Demo Transactions
   └── Reset All Data

🚀 INSTALLATION GUIDE (DESKTOP APPLICATION)

  1. Ensure Python 3.13+ is installed on your system.
  2. Install dependencies:
    pip install -r requirements.txt
  3. Run the application:
    python main.py

About

A modern Expense Tracking System built with React, TypeScript, Vite, and Python utilities featuring authentication, advanced analytics, Indian Rupee support, PDF export, advanced search & filters, and responsive dashboard.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages