Zhao Jingjing's Project Portfolio Page
Project: Fine$$e
Overview
Fine$$e is a desktop finance tracker that allows tertiary students to better manage their finances, cultivating good financial habits such as saving. It is optimised for CLI users so that expenses and income can be tracked efficiently by typing in commands. It is written in Java, and has a GUI created with JavaFX.
Summary of Contributions
-
New feature: Added the monthly budget feature to the finance tracker.
- What it does: With the addition of the monthly budget, the finance tracker allows the user to set their desired monthly expense limit and monthly savings goal, and calculates the user’s remaining budget and current savings.
- Justification: This feature significantly enhances the capabilities of the finance tracker by allowing the user to track their progress in their savings, and paves the way for the application’s analytics feature.
- Highlights: This feature required heavy use of the observer design pattern as all values in the monthly budget have to be observed by the UI so that the values and calculations can be updated immediately upon any changes.
-
New feature: Revamped the finance tracker’s
find
command.- What it does: Instead of only title keywords, the user can now search for transactions in the finance tracker by title keyphrase, amount, date, category, amount range and date range.
- Justification: This feature significantly increases the user’s ease in finding the transactions they have entered into the finance tracker.
- Highlights: This feature involved changes in the way the find command is parsed, and different predicates for each of the search scenarios were created.
-
Code contributed: RepoSense link
-
Project management:
- Created labels for issues and pull requests on GitHub.
- Managed release
v1.3
(1 release) on GitHub.
-
Enhancements to existing features:
- Removed duplicate checks to allow duplicate transactions to be added to the finance tracker. (Pull request #72)
- Restricted command inputs to allow for only one title/amount/date input in the finance tracker. (Pull request #201)
- Enabled automatic tab-switching upon execution of certain commands. (Pull request #288)
-
Documentation:
- User Guide:
- Developer Guide:
- Community: