Edric Yeo's Project Portfolio Page
Project: Friendnancial
Overview: Friendnancial is a desktop contact management application used by financial advisors to manage their clients and contacts. 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.
Summary of Contributions:
-
Code contributed: RepoSense Link
- Enhancements implemented:
- Creating Reminders
- Implemented the
remind
command to allow users to create a reminder, tagged to a person. - Added functionality to the
Person
class to store a newReminder
field. - Modified the UI to display information regarding the reminders.
- Implemented the
- Deleting Reminders
- Implemented the
deleteR
command to allow users to delete reminders, given the index of the reminder.
- Implemented the
- Finding contacts
- Added functionality for the
find
command to find contacts based off name, phone, email, birthday, address fields. - Refactored the parsing of the
find
command to accept prefixes for the different field to find by. This was difficult because there was a lot of code and test cases that had to be refactored after the parsing of thefind
command was changed. - Wrote tests for the
find
command based off different fields. - Implemented input checking and error checking for the
find
command. A different parsing of thefind
command created bugs when the find command was parsed. Therefore, I had to use assertions and exceptions to ensure thefind
command accepted valid user inputs.
- Added functionality for the
- Creating Reminders
- Contributions to the UG:
- Wrote the “Locating persons by keyword” section
- Wrote the “Adding a reminder” section
- Wrote the “Deleting a reminder” section
- Contributions to the DG:
- Wrote “Remind feature” section, explaining how the
remind
command was implemented. - Wrote “Delete Reminder feature” section, explaining how the
deleteR
command was implemented. - Created sequence diagrams for the
remind
anddeleteR
command using plantUML - Wrote the use cases for the
Finding contacts
command
- Wrote “Remind feature” section, explaining how the
- Contributions to team-based tasks:
- Create and delegate tasks to teammates, using GitHub Issues
- Refactored a lot of AB3 references in the user guide and developer guide
- Review/mentoring contributes: