Project: NeoBook

NeoBook is a desktop application for NUS students to better manage their contacts and the events they have scheduled with them. The user interacts with it using a CLI, and it has a GUI created with JavaFX.

Given below are my contributions to the project.

  • New Feature: Added the ability to Favourite and “Unfavourite” Contacts (PR #76).
    • What it does: allow the user to favourite contacts of interest as well as unfavourite contacts that are no longer of your interest in the Address Book.
    • Justification: users might want to favourite certain profiles, they commonly contact for easier retrieval. This makes it more convenient for users.
    • Highlights: This feature models after existing commands, where a Parser parses the Favourite Command after the user input. The Person class had to be implemented with an additional Favourite Status Variable.
  • New Feature: Added the ability for Users to Add Events in the Events Tab. (PR #81).
    • What it does: allows the user to add new events of different recurrence levels, to be displayed within the Events Tab UI.
    • Justification: we want the users to be able to add and track events in their busy lifestyles.
    • Highlights: this feature required an implementation of a new Event Class and an UniqueEventList to store all the various events the user might have. The feature mostly models after the existing commands.
  • New Feature: Added the ability for Users to delete events in the Events Tab. (PR #165).
    • What it does: allows the user to delete existing events within their events tab.
    • Justification: we want users to be abe to delete events since they are able to add events to their tab. This is to prevent overflowing their events tabs once they have finished that particular event.
    • Highlights: this feature models after existing commands, where it will delete a target event according to their assigned Index within the UniqueEventList.
  • New Feature: Added the ability for Users to tag/untag contacts to particular events. (PR #164).
    • What it does: allows the user to tag existing contacts in their address book to any of their events.
    • Justification: we want to make the application feel more interconnected, this way users can keep track of the different attendees of particular events they have within the tab. This allows for more meaningful use of the events tab.
    • Highlights: this feature require the Event Class to take on a new variable which is a List of Persons that are tagged to the current event, for it to be recorded and displayed on the UI.
  • Code contributed: RepoSense link

  • Project management:
    • Release NeoBook’s JAR
  • Enhancements to existing features:
    • Enhanced the Edit Command for Contacts in AddressBook (PR #76).
      • The existing Edit Command entirely resets fields which are SuperFields.
      • Meaning to say, users cannot selectively add on top of current Tags/Modules Taken or selectively remove a particular Tag or Module Taken.
      • Enhanced the Edit Command such that users, can selectively add and remove within the SuperField instead of entirely reseting said SuperFields.
  • Documentation:
  • Community: