Jaryl Loh's Project Portfolio Page
Project: BudgetBaby
BudgetBaby is a desktop budget tracking application used to manage finances. The app supports CRUD functions and seeks to improve the financial literacy of University students in Singapore. 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
find-fr
command that allows users to find financial records based on specified fields.- What it does: Allows the user to specify fields such as
DESCRIPTION
,AMOUNT
and/orCATEGORY
. The financial records list will be filtered according to these inputs and only the financial records that match all specified fields will be displayed. - Justification: This feature improves the product significantly because users are inclined to find specific records for reference, and this is an extremely tedious process to do if the application expects them to manually look for them in a long list of records.
- Highlights: This enhancement followed from the initial implementation of
category-filter
which only allowed the filtering of financial records by category. Withfind-fr
, users are provided the flexibility of finding financial records based on specified fields.
- What it does: Allows the user to specify fields such as
- New Feature: Added
remove-filter
command that allows users to view the original list of financial records.- What it does: Allows users to remove all filters set on the financial records list (e.g. after using
find-fr
) - Justification: This feature provides an option to undo the
find-fr
command completely, regardless of how many times the financial records list has been filtered. This is an essential feature that complementsfind-fr
after users have completed viewing the filtered list of financial records.
- What it does: Allows users to remove all filters set on the financial records list (e.g. after using
- Project Management:
- Applied critical thinking skills and provided valuable feedback to implemented or to-be implemented features
- Assisted with task management and equal distribution of workload amongst the team
- Contributed to the opening of several major issues on the project’s Github repository and assigned them to respective members
- Enhancements to existing features:
- Replaced
category-filter
tofind-fr
as a general feature that caters to all fields (Pull request #108) - Enhanced the output of
find-fr
on results with no matching records to display an empty list (Pull request #201) - Added maximum character limit for category to prevent overflow (Pull request #142, #201)
- Wrote additional tests for the following features:
category
,find-fr
,edit-fr
anddelete-fr
to increase coverage from 0% to 100% (Pull request #206)
- Replaced
- Documentation:
- User Guide:
- Added description of the purpose of the User Guide and what BudgetBaby is about (Pull request #118)
- Added the table of contents and provided links for quick re-direction to specific parts of the document (Pull request #122)
- Added documentation for the features
find-fr
andreset-filter
(Pull request #108)
- Developer Guide:
- User Guide:
- Community: