Project: TaskBook

TaskBook is a desktop address book and task assignment application for NUS students to efficiently manage their contacts and tasks.

Given below are my contributions to the project.

  • New Features:
    • task sort (#144, #176)
      • What it does: Adds support to sort tasks alphabetically, by when they were added, or by their date.
      • Justification: This feature improves the product by allowing users to gather information about a task in their list at a quick glance.
      • Highlights: Each sorting command is a different type, and inherit from an abstract superclass TaskSortCommand, thus exhibiting polymorphism and inheritance.
    • task find (#161)
      • What it does: Adds support to filter tasks by a query, their assignment, or their done status.
      • Justification: This feature improves the product by allowing users to gather information about a task in their list at a quick glance.
      • Highlights: There are many fields that users can find tasks by, so the method to find tasks could have been long. Instead, there are over a dozen smaller private methods that make up this method, thus exhibiting SLAP.
    • contact sort (#174, #176)
      • What it does: Adds support to sort contacts alphabetically, or by when they were added.
      • Justification: This feature improves the product by allowing users to gather information about a contact in their list at a quick glance.
      • Highlights: Each sorting command is a different type, and inherit from an abstract superclass ContactSortCommand, thus exhibiting polymorphism and inheritance.
    • contact find (#171)
      • What it does: Adds support to find contacts by a query.
      • Justification: This feature improves the product by allowing users to gather information about a contact in their list at a quick glance.
    • TaskListPanel (#99)
      • What it does: Adds Gui component that displays tasks added to Task Book, after applying filters from find commands, and sorted by sort commands.
      • Justification: This feature improves the product by allowing users to gather information about a task in their list at a quick glance.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.3, v1.3.1 (2 releases) on Github.
  • Enhancements to existing features:
    • Gui revamp
      • Change in color scheme (#177)
      • Assigning different task list card colors to each type of task (#177)
      • Formatting task list cards (#177)
    • Added SortedList wrapper to the filteredPersonList in ModelManager (#174)
  • Documentation:
  • Team:
  • Bugs found:
    • Tasks assigned to Myself not loading on start-up, fixed by Jin Wei (#289)
    • task list displaying contact list’s help message, fixed by Jin Wei (#289)
  • Bugs fixed:
    • Fields with long strings are not well formatted (#200)
    • Missing functionality in CLI only available in the Gui (#229)
    • Phone number documentation (#204)
  • Community:
    • Reported 11 bugs for other teams in PE-D.
    • Posted on forum (activity in 11 posts):
      • #37: Reporting bug involving video quiz.
      • #59: Asked about if adding Gradle manually was allowed.
      • #161: Disambiguation about a weekly quiz.
      • #173: Asked about which JAR file was used for grading in iP.
      • #190: Attempted to help resolve a fellow’s student’s query about missing JavaFX runtime components.
      • #274: Asked about automated JAR file smoke tests by module coordinator failing.
      • #346: Asked about a Github CI failure.
      • #393: Asked for further clarification about a fellow student’s query about whether an issue is a bug or Uii enhancement.
      • iP smoke test posts:
        • #246: Asked about having to use -Djdk.gtk.version=2 to run files
          • This discussion led to useful information referenced by many students.
        • #230: Smoke test.
        • #242: Smoke test.