Wooble
Back to Aaditya's profile
Verified on Wooble

Student Expense Tracker Pro (Python CLI with Budget Tracking & Analytics)

Aaditya SattawanStudent Expense Tracker Pro (Python CLI with Budget Tracking & Analytics)

Overview

Thank you for reviewing my submission! Run: python3 expense_tracker.py Dependencies: None (Python 3 Standard Library only). Sample Data: Three expenses are preloaded for immediate testing. Storage: Data is automatically saved in expenses.json, so expenses and budget persist across sessions. Design Decisions Used Object-Oriented Programming with a dedicated Expense dataclass for clean, maintainable code. Chose JSON for persistent storage because it is lightweight, human-readable, and requires no external database. Added input validation for dates, amounts, and categories to prevent invalid data. Implemented graceful error recovery—if the JSON file becomes corrupted, the application restores default data instead of crashing. Used UUIDs to uniquely identify expenses, making deletion reliable. Organized search and delete operations into a separate Manage Expenses menu to keep the main interface simple. Features Beyond the Requirements In addition to all mandatory hackathon requirements, I implemented: Monthly budget tracking with overspending warnings. Expense search by date or category. Expense deletion. Advanced analytics (budget usage, average, highest, lowest expense, and category-wise breakdown). Export reports in both TXT and CSV formats. Persistent local storage across sessions. Testing The application was tested for: Valid and invalid user inputs. Empty datasets. Data persistence after restarting the application. Budget calculations. Search and delete operations. Report generation. Graceful exit using Ctrl + C without crashing. Future Improvements Given more time, I would add expense editing, recurring expenses, customisable categories, monthly trend visualisations, automated unit tests, and AI-powered spending insights to evolve the project into a more intelligent personal finance assistant.

Gallery

10