Edeline's Project Portfolio Page
Project: ParentPal
ParentPal is a desktop app for managing your children’s contacts and their related appointments. 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.
- New Feature: Added the ability to sort contacts.
- What it does: allows the user to sort the contact list in alphabetical or chronological order.
- Justification: This feature helps users keep their contact list organised in whichever way they want, and is a foundational function that users expect to have when they store a lot of information.
- Highlights:
- New Feature: Added the ability to favourite contacts and list favourited contacts.
- What it does: allows the user to favourite or unfavourite contacts in the contact list.
- Justification: This feature makes the process of finding frequently contacted people much easier.
- Highlights: This enhancement affected many other commands, as favourite was a new attribute under a contact. In addition, the list command can now accept arguments in terms of options of what to list. It required analysis of design alternatives as there were multiple ways to implement it.
- New Feature: Added the ability to delete appointments.
- What it does: allows the user to delete appointments by index.
- Justification: This feature is a core functionality.
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.2
-v1.4
(4 releases) on GitHub
- Managed releases
- Enhancements to existing features:
- Prevent deleting of contacts that are involved in appointments (Pull requests #149)
- Allow appointments of same name to be added, given that they have a different date/time or address (Pull requests #257)
- Allow users to edit contacts to remove their previous entries to optional fields such as the phone, email and address (Pull requests #263)
- Wrote tests for features (
FavouriteCommand
,FavouriteCommandParser
,SortCommand
,SortCommandParser
,ListCommand
,ListCommandParser
,DeleteAppointmentCommand
,DeleteAppointmentCommandParser
,ListAppointmentCommand
) to increase coverage (Pull requests #284, #288)
- Documentation:
- User Guide:
- Developer Guide:
- Updated target user, value proposition and user stories. (Pull request #22)
- Added use cases. (Pull request #22)
- Added implementation details of the
sort
feature. (Pull request #97) - Added implementation details of the
favourite
feature. (Pull request #283) - Added test cases for
edit
,delete
,list
,sort
andfavourite
feature in Appendix. (Pull requests #306, #318)
- Community: