Yap Zher Xiang Jason's Project Portfolio Page
Project: PennyWise
PennyWise is a desktop application that empowers students with the ability to make sensible financial decisions,helping students to manage their budget. 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.
The following are my contributions to the project:
- New Feature: Created the class
Entry
to manage objects being added to the application: PRs #30, #35- What it does: Allows both the
Expenditure
andIncome
classes to inherit from this class as they have similar properties. - Justification: This feature enhances our code reusability since they have similar properties, functions can largely be
created for
Entry
type classes by taking advantage of polymorphism. - Highlights: The implementation required many rounds of alteration because it was the initial feature to be added to the application,
and the parent
Entry
class formed the foundation for our application to be built on.
- What it does: Allows both the
- Feature: Added the ability to add entries to the application: PRs #30
- What it does:
add
allows the users to create entries in either theExpenditureList
orIncomeList
in PennyWise. - Justification: This feature is an essential component of PennyWise as the entries already added to the application can then be further used for other PennyWise features.
- What it does:
- Feature: Added the ability to edit entries to the application: PRs #43, #64
- What it does:
edit
allows the users to edit entries in either theExpenditureList
orIncomeList
in PennyWise. - Justification: This feature is an essential component of PennyWise as the entries already added to the application can be edited should the users make any mistakes in typing the details of their entries.
- What it does:
- Feature: Added the ability to delete entries to the application: PRs #35
- What it does:
delete
allows the users to delete entries in either theExpenditureList
orIncomeList
in PennyWise. - Justification: This feature is an essential component of PennyWise as the entries already added to the application can be deleted should the users make any mistakes in entering an expected entry that did not happen, or should the user want to completely remove any erroneous entry that they have made.
- What it does:
- Feature: Added the ability for users to find out the commands available in PennyWise: PRs #106
- What it does:
help
opens a new window with a table of PennyWise’s commands and a link to our user guide. - Justification: This feature provides an easy way to view the available commands that can be used in the application.
- What it does:
-
Code contributed: RepoSense link
- Project management:
- Co-managed releases
v1.2
andv1.3
(2 releases) on GitHub together with @ruihan00. - Logging of weekly tasks, deadlines and responsibilities on our project notes.
- PRs Reviewed by me
- Co-managed releases
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Community: