Gary's Project Portfolio Page
Project: PartyPlanet
PartyPlanet is a cross-platform desktop application that helps users plan birthday celebrations. The user primarily interacts with it using a command-line interface, inside a GUI created with JavaFX. It is written in Java with around 10k LOC.
A full list of code contribution can be found here: RepoSense
New features
- Add deletion of contacts with specified tags #58,#152
- What it does: Allows user to delete multiple contacts with specified tags.
- Justification: User might want to delete a group of contacts with the same tag. For example, the welfare IC may want to remove all contacts from the graduated batch “batch2020”, he can simply use the command
delete -t batch2020
. - Was further improved in PR152 to support
--any
flag, which allow contact to be deleted as long as it matches any of the specified tags.
- Add InputHistory: #92
- What it does: This feature allows the user to retrieve previous inputs.
UP
andDOWN
arrow key cycles through the input history of the user. - Justification: Trying to carry out multiple similar commands (eg. Adding multiple people with similar details) can be troublesome. With this feature, users are able to get the previous input and make minor modification to it.
- What it does: This feature allows the user to retrieve previous inputs.
- Add EDoneCommand: #131
- What it does: Allows the user to mark an
Event
as done. DoneEvent
will have a tick beside its title. - Justification: User may want to keep track of which events are completed, and have an easy way to identify them.
- What it does: Allows the user to mark an
- Add ToggleThemeCommand: #176
- What it does: Allows user to toggle between dark theme and pastel theme.
- Justification: Allow the user to customize the PartyPlanet based on which theme they prefer visually.
- Was further improved by pyuxiang in #184 to add theme to userpref so that chosen theme persists through sessions.
Feature enhancements
- Improve delete command to allow deletion of multiple indexes at one go: #82
- Justification: Make it easier for user to delete multiple contacts with a single command.
- Shifted functionality of
clear
todelete
#113- Justification: Simplify the set of commands available to the user
- Improve PersonCard in Ui to accomodate optional fields (vary size according to number of fields): #117
- Improve
delete
,edelete
,edone
to handle invalid input better: #154- When both valid and invalid indexes are provided, carries out operation on valid indexes and inform user of invalid indexes.
- Add testcases: #301, #302, #305, #306, #314, #315, #316
Documentation
- User Guide
- Developer Guide