Skip to content

Expense Tracker v1.0.0

Latest

Choose a tag to compare

@ckomalram ckomalram released this 14 Sep 18:32

Release Description:

The first stable release of the Expense Tracker. This command-line tool helps users manage their expenses, set monthly budgets, and view detailed expense summaries. Version 1.0.0 includes the following features:

Features

  • Add Expenses: Users can add expenses with a description, amount, and optional category.
  • List All Expenses: View all recorded expenses, with filters available by category.
  • Update/Delete Expenses: Modify or remove existing expenses by ID.
  • Monthly Summary: View total expenses for a specific month or the current month.
  • Budget Management: Set a monthly budget and receive warnings when the total expenses exceed the defined budget.
  • Data Export: Export all expenses to a CSV file for further analysis or backup.
  • CLI Commands: User-friendly command-line interface powered by argparse, allowing for intuitive expense management directly from the terminal.

What's New

  • Initial stable version with full CRUD (Create, Read, Update, Delete) functionality for managing expenses.
  • Monthly budgeting feature with notifications if the user exceeds the defined budget.
  • Expense data stored in JSON format and easily exportable to CSV files.

Lessons and Skills Learned

  • Working with Python's argparse for building command-line tools.
  • Handling JSON file storage for persisting user data.
  • Using the datetime module for date manipulation and filtering by month.
  • Implementing user input validation and error handling.
  • Modularizing Python code into reusable functions and ensuring maintainability.
  • Exporting data to CSV for simple data analysis or record-keeping.

Known Issues

  • No support for editing budget settings once set (planned for future versions).
  • UI feedback could be improved with more interactive messages or colored outputs.

Next Steps for Future Versions

  • Add recurring expenses for common monthly payments (e.g., rent, subscriptions).
  • Improve user feedback with color-coded messages for warnings and success states.
  • Implement more detailed financial reporting (e.g., expenses per category breakdown).
  • Support for custom date ranges (not limited to months).