Shubhashis Baral
Featured project
Python Command-Line Expense Tracker
College students often spend money on food, travel, recharges, and UPI payments without tracking where their money goes. Most finance apps are complex, require internet access, or need account registration. I built a lightweight offline Python command-line expense tracker that helps students add expenses, monitor spending, track categories, and manage monthly budgets quickly without needing any external tools or databases. Process I started by identifying the core features needed for a student expense tracker: adding expenses, viewing records, calculating totals, and tracking the highest spending category. I designed the project using Python OOP concepts and dataclasses to keep the code modular and maintainable. I added input validation for dates, amounts, and categories along with exception handling to prevent crashes from invalid input. Initially, I considered using dictionaries for storage, but later switched to dataclasses for cleaner structure and easier management. Finally, I added sample expenses and a monthly budget warning system to improve usability and testing. Results The final application successfully provides a lightweight offline expense tracking system for students. Users can add expenses, view spending history, calculate total expenses, identify the highest spending category, and manage monthly budgets directly from the command line. The project includes input validation, exception handling, modular OOP-based architecture, and sample data for testing. It runs without external dependencies or databases, making it simple, fast, and easy to use. Reflection If I continued this project, I would add persistent storage using JSON or SQLite so expenses remain saved after closing the program. I would also implement graphical reports, monthly analytics, and filtering options for better financial insights. Another improvement would be creating a simple GUI or web interface for non-technical users while keeping the lightweight offline functionality. I would also add automated testing to improve scalability and reliability.