Skip to content

Latest commit

 

History

History
72 lines (49 loc) · 4.1 KB

chenjiehan318.adoc

File metadata and controls

72 lines (49 loc) · 4.1 KB

Chen Jiehan - Project Portfolio

PROJECT: Budget Buddy


Introduction

BudgetBuddy is a desktop expense tracker application designed for Computing students in the National University of Singapore who wish to better manage their expenses. The user interacts with it using a Command-Line Interface (CLI), and it has a Graphical User Interface (GUI) created with JavaFX. It is written in Java, and has about 15 kLoC. The purpose of this Project Portfolio Page is to present my contribution to BudgetBuddy.

Overview of the Project

Budget Buddy possesses a fair number of features to equip the user the ability to track and manage their expenses, as well as customize their user experience to according to their preference.

As an expense tracker, Budget Buddy offers the ability for users to record their transactions occurred in life. The user can create different accounts to manage different types of transactions. For example, when a user wants to view his expenses spent overseas, he can create a separate account named 'trip' to record the transactions spent in the trip. Moreover, a category or a few categories can be set to remind the users the use of the transaction made.

To help the users track their loans that they own others or are owed to them, Budget Buddy offers a feature called loan so that the users can remind themselves to pay back or reclaim borrowed money. Unbalanced group payments can also be split equally, and the resulting debts the user owes or is owed can be recorded as loans automatically.

Among other financial trackers, Budget Buddy outstands in terms of its functionality of customizing the user experience through rules. To ease the process of managing the expenses, users can create rules to automate a series of actions. For example, they could create a rule that adds a transaction to a specific category if said transaction exceeds a certain amount.

Taken the fact that our main target users is computing students into consideration, Budget Buddy provides the functionality for users to utilize their computing knowledge to write custom scripts to manipulate the app. For example, users are able to write scripts to add huge number of transactions, or scripts to trigger alarms when their expenses have exceeded a certain limit.

Summary of contributions

  • Major enhancement: added the feature of account and related commands

    • What it does: allows the user to manage their accounts to facilitate the tracking of expenses, including add/delete/edit/list/find/report/overview the accounts.

    • Justification: This feature lays the foundation for the product because a user needs accounts to carry out all other activities, e.g. manage the transactions in a particular account.

    • Highlights: This feature affects many other existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation was demanding as it required carefully design to fit the entire architecture.

  • Minor enhancement: added the help window that allows the user to navigate to the website when they are in need of help.

  • Code contributed: [RepoSense Report]

  • User’s benefit: With the account feature, the user is able to record their expenses and income in different accounts. Moreover, the user can choose to view the report of either individual or all accounts. Details of the particular account is offered for the user to have an general idea about their financial status.

Contributions to the User Guide

Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users.

Contributions to the Developer Guide

Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project.