Zhu Yuanxi's Project Portfolio Page
Project: PennyWise
PennyWise is a desktop application that empowers students with the ability to make informed financial decisions, by providing a graphical analysis of their financial activities. 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.
- Feature: Added the ability to handle both expenditure and income in PennyWise.
- Justification: Different from AddressBook Level-3 (the sample project that PennyWise evolves from) which only handles person entries, there are two different types of entries: expenditure and income in PennyWise.
- Highlights: This enhancement updates the data storage format to work with both expenditure and income by creating
JsonAdaptedExpenditure
andJsonAdaptedIncome
classes, and updates the state stored in PennyWise model. - PR: #34
- Feature: Added the ability to add and delete entries.
- What it does: allows the user to add entries and delete entries from PennyWise.
- Justification: Adding and deleting is the most basic and essential features for our budgeting app. It allows users to log their expense or income and remove any mistakes.
- PR: #45
- New Feature: Added the ability to view line graphs of the expenditure and income data.
- What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
- Justification: This feature is PennyWise’s key selling point that differentiates it from applications that does basic logging only, by making it easy for users to visualise the trend and pattern of their expenses and income with graphs.
- Highlights: The
view by month
command will filter the entry list by month and generate a line graph. - PR: #73
- Enhancements:
- Added a no entry view for the graph panel when there is no data. This makes it more clear to the user that there is no data to generate a graph compared with showing a blank screen.
- PR: #87
-
Code contributed: RepoSense link
- Project management:
- Documentation:
- Community:
- PRs reviewed (with non-trivial review comments): #30, #35, #82, #171
- Reported bugs and suggestions for other teams in the class PE-D Issues Link