Wooble
Back to Kaushiki's profile
Verified on Wooble

Student Expense Tracker – Python Command-Line Budget Manager

Developed a menu-driven Python expense tracker with spending analysis, budget monitoring, and input validation using only the Python Standard Library.

Kaushiki GhoshStudent Expense Tracker – Python Command-Line Budget Manager

Overview

Many college students make several small daily payments for food, travel, recharges, and other expenses but rarely keep track of where their money is going. Existing expense tracking applications are often feature-heavy, require internet access, account creation, or databases, making them unnecessary for simple daily budgeting. The challenge was to build a lightweight Python command-line application that enables students to record expenses, monitor their spending, and stay within a monthly budget while using only the Python Standard Library and in-memory data storage. Process I first analyzed the hackathon requirements and identified the mandatory features: adding expenses, viewing records, calculating total spending, and identifying the highest spending category. I designed the application around a simple menu-driven interface so that users could easily navigate through different options from the terminal. To keep the code organized and maintainable, I separated the logic into individual functions for each operation instead of placing everything inside the main loop. Input validation was added for dates, amounts, and categories to prevent invalid entries. I also restricted expense categories to predefined values to keep reports consistent. Results The final application successfully implements all the mandatory features outlined in the hackathon brief along with the optional monthly budget tracker. It runs entirely using the Python Standard Library without external dependencies or databases. The code is modular, easy to understand, and handles invalid user input gracefully. The inclusion of sample data allows reviewers to verify functionality immediately, while the budget monitoring feature provides additional value beyond the basic requirements. Reflection If I had more time, I would extend the project by storing expense data in CSV or JSON files so records are preserved between sessions. I would also add search and filtering options, editing and deleting expenses, monthly reports with visualizations, and graphical dashboards. In the future, I would also consider building a desktop or web interface while keeping the existing command-line version for lightweight usage.

Links & files

Artifacts

2

Gallery

8