Project: TABS

TABS is a desktop scheduler application used by students managing team projects. It allows the user who is a student to view a project’s members and their workload, allocate tasks to them and get reminders on upcoming deadlines or deliverables.

Contributions

Given below are my contributions to the project.

  • Code contributed:
  • New Features Added:
    • Groups data structure
      • What it does:
        • Data structure which maintains a GroupName class and a set of Persons as members. Supports basic CRUD operations.
      • Rationale:
        • Need a data structure to represent a group in TABS.
        • Commands exist for testing purpose only.
    • Integrate Groups into AB3
      • What has been done:
        • Allows app to store a list of groups, and subsequently perform CRUD operations to modify this list.
        • Skeleton commands to add/delete from list.
      • Rationale:
        • Subsequent operations in our app will require performing operations on groups in the app in a similar manner to Persons.
        • Added commands exist for testing purpose only.
      • Highlights:
        • Add UniqueGroupList class in the AddressBook class;
        • Add DuplicateGroupException and GroupNotFoundException in relation to Groups;
        • Add methods to modify UniqueGroupList in AddressBook, ModelManager;
        • Add rudimentary AddGroupCommand and DeleteGroupCommand, including respective parsers and modifying AddressBookParser class;
        • Add JUnit test cases for above-mentioned new classes.
    • Storage for Groups
      • What has been done:
        • Add supporting classes to convert a Group object into JSON format, and store it in the data file.
      • Rationale:
        • To allow users to save their changes made to Groups in a similar manner to Persons
    • Bulk Task Assignment/Deletion
      • What it does:
        • Assigns a task to/Deletes a task from all members of a group (exact behaviour specified in developer guide).
      • Rationale:
        • Enables user to quickly and accurately assign same task.
    • Minor JavaFX Edit for window size.
  • Enhancements to Existing Features:
  • Documentation:
  • Team Based Tasks:
    • Allocate tasks for v1.3 and v1.4
    • Consolidate and close Issues as part of PE-Dry Run
  • Reviewing/Mentoring Contributions:
  • Community:
    • Reported bugs and offered suggestions to another group during PE-Dry Run