Project: BudgetBaby

BudgetBaby is a desktop budget tracking application used to manage finances. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.

Given below are my contributions to the project.

  • Code Contributed: RepoSense Report
  • New Feature: Added the ability view categorical statistics for a particular month.
    • What it does: allows the user to view the categories that they have spent within the month, sorted according to the categories’ lexicographical ordering, and the respective amounts spent on each category.
    • Justification: This feature improves the product significantly because a user is able to get a quick glance on their spending amounts and get an idea on where they spend their money.
    • This feature was originally a side panel with only 5 top categories shown per month, a duplicate with the next feature implemented. Eventually, this feature was brainstormed on and improved in terms of utility, to reduce the redundancy of certain features in the app and provide more possibilities to viewing data.
  • New Feature: Added the ability view top 5 categories for a particular month.
    • What it does: allows the user to view the top 5 categories which has contributed to most of their spending within the month, sorted according to the amount spent.
    • Justification: This feature improves the product significantly because a user is able to get a quick glance on which categories they are putting their money in the most, and may be able to spot trends which enable them to save in the future.
  • New Feature: Added the ability to view an overview of their expenditure over the past few months.
    • What it does: allows the user to view the total expenditure that they have spent from the current month, up to the past 6 months.
    • Justification: This feature improves the product significantly because a user is able to get a quick glance on their expenditure for the past few months, and is able to view their progress.
  • Documentation:
    • User Guide:
      • Added details on every feature related to obtaining user statistics in the application #125
      • Elaborated usage of every single function in the application #129
      • Formatted all tips in the document to reflect accurate notes on parameters and command formatting for every function #119
      • Made corrections for language and minor mistakes in the user guide.
    • Developer Guide:
      • Added the documentation for Architecture component #96
      • Added implementation details of statistics features and updated architectural details.