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
remindcommand to allow users to create a reminder, tagged to a person. - Added functionality to the
Personclass to store a newReminderfield. - Modified the UI to display information regarding the reminders.
- Implemented the
- Deleting Reminders
- Implemented the
deleteRcommand to allow users to delete reminders, given the index of the reminder.
- Implemented the
- Finding contacts
- Added functionality for the
findcommand to find contacts based off name, phone, email, birthday, address fields. - Refactored the parsing of the
findcommand 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 thefindcommand was changed. - Wrote tests for the
findcommand based off different fields. - Implemented input checking and error checking for the
findcommand. A different parsing of thefindcommand created bugs when the find command was parsed. Therefore, I had to use assertions and exceptions to ensure thefindcommand 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
remindcommand was implemented. - Wrote “Delete Reminder feature” section, explaining how the
deleteRcommand was implemented. - Created sequence diagrams for the
remindanddeleteRcommand using plantUML - Wrote the use cases for the
Finding contactscommand
- 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: