Project: Harmonia

Overview

Harmonia is a command-line-based personal task manager, which helps university students to manage their academic tasks. It is written in Java and has a GUI implemented with JavaFX.

Given below are my contributions to the project.

  • Code Contributed: link

  • Enhancements implemented:

    1. Modified the AddCommand and AddCommandParser in Address Book Level 3 (AB3), such that they suit the requirements of Harmonia. Related PR: #115, #138 and #264.

      • Converted the fields from AB3 to the fields in Harmonia. For example, the field Deadline and Description were added.
      • Changed the parsers and prefixes, to support the AddCommand.
      • Renamed some files and methods, to support the functionalities in Harmonia.
      • Refactored the tests related to AddCommand.
    2. Modified the DeleteCommand and ListCommand in AB3, such that they work correctly for the task list. Related PRs: #122 and #123.

    3. Refactored the messages in Harmonia. Related PRs: #124, #261, and #262.

    4. Enhanced the find command, such that it supports:

      • Search by a range of deadline. Related PR: #177
      • Search by name, by keyword matching. Related PRs:
      • Search by description, by keyword matching. Related PRs: #177 and #214.
      • Search by priority. Related PR: #198.
      • Search by completion status. Related PR: #218.
    5. Improved the design of Keyword, to make it more object-oriented. Related PR: #343.
    6. Improved the design of the testing of various attributes related to a task:

      • Added utility functions in Assert.java, to simplify the code in different tests. Related PR: #316.
      • Added a new class TypicalStrings that collects commonly used test cases. Related PR: #316.
      • Refactored NameTest, PriorityTest, DeadlineTest, DescriptionTest and CompletionStatusTest. Related PR: #316.
  • Contributions to the UG:

    1. Updated part 3.3 - 3.5 (list all tags, delete and find). Related PR: #192 and #210.

    2. Added glossary to the UG. Related PR: #210.

    3. Added a summary of constraints on user inputs to the UG, and refactor some instructions on commands. Related PR: #263.

  • Contributions to the DG:

    1. Added and formatted the use cases 5 - 9. Related PR: #65.

    2. Updated the part related to search by date. Related PR: #166.

    3. Updated a part of appendix, such that it corresponds to the behavior of Harmonia. Related PR: #340.

    4. Added implementation details on the search functionality, and modified the sequence diagram. Related PR: #348.

  • Contributions to team-based tasks:

    1. Added trial release v1.3.trial. Related PR: #170.

    2. Submission of files:

      • Week 6: tP UG draft
  • Review/mentoring contributions:

    1. Actively participated in reviewing PRs:

      #61, #100, #107, #149, #150, #153, #156, #158, #160, #163, #167, #169, #212, #278, #281, #290, #293, #323, #327, #342

    2. Actively provided suggestions on various functionalities implemented by others.

  • Contributions to community:

    1. Reported bugs for other teams in class (9 bugs identified in the PE-D)