Wooble
Back to Preet's profile
Verified on Wooble

Student Expense Tracker CLI

Built a Python CLI application that tracks expenses, analyzes spending patterns, monitors budgets, and exports reports to CSV.

Preet JhagekarStudent Expense Tracker CLI

5+

Sample expenses analyzed

100%

Standard library implementation

6

Core features delivered

Overview

College students frequently make small daily payments for food, travel, mobile recharges, and study materials, but often lack a simple way to track where their money is being spent. Most existing solutions require mobile apps, internet connectivity, or account creation, which can be unnecessary for basic expense management. The objective of this project was to build a lightweight command-line expense tracker that allows students to record expenses, monitor spending patterns, identify their highest spending categories, and stay within a monthly budget using only Python and the standard library. Process I first analyzed the core requirements and identified four essential user actions: adding expenses, viewing expense history, calculating total spending, and identifying the highest spending category. I designed the application around a simple menu-driven workflow to ensure ease of use from the terminal. To improve usability beyond the minimum requirements, I added input validation for dates, amounts, and categories to prevent invalid data entry. I then implemented category-wise spending analysis, budget monitoring with warning thresholds, and CSV export functionality so users could easily analyse their data outside the application. Throughout development, I prioritized readability, modularity, and maintainability by separating functionality into dedicated functions with responsibilities. Results The final solution successfully satisfies all challenge requirements while adding several usability enhancements. The application allows users to track expenses, calculate total spending, analyze category-wise expenditure, identify the highest spending category, and receive budget warnings when spending approaches or exceeds predefined limits. Additional features such as CSV export, formatted tables, ASCII spending visualizations, sample data, and robust input validation improve both usability and code quality. The project runs entirely on Python's standard library, requires no internet Reflection Given additional development time, I would implement persistent storage using JSON files so expense data remains available across sessions. I would also add advanced reporting features such as monthly summaries, category filtering, expense deletion/editing, and graphical visualizations. For larger-scale usage, migrating the data layer to SQLite would provide efficient querying while keeping the application lightweight and offline-first.

Links & files

Artifacts

1

Gallery

6