Tan Jin Waye's Project Portfolio Page
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
GroupNameclass and a set ofPersons as members. Supports basic CRUD operations.
- Data structure which maintains a
- Rationale:
- Need a data structure to represent a group in TABS.
- Commands exist for testing purpose only.
- What it does:
- 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.
- Subsequent operations in our app will require performing operations on groups in the app in a similar manner to
- Highlights:
- Add
UniqueGroupListclass in theAddressBookclass; - Add
DuplicateGroupExceptionandGroupNotFoundExceptionin relation to Groups; - Add methods to modify
UniqueGroupListinAddressBook,ModelManager; - Add rudimentary
AddGroupCommandandDeleteGroupCommand, including respective parsers and modifyingAddressBookParserclass; - Add JUnit test cases for above-mentioned new classes.
- Add
- What has been done:
- 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
- To allow users to save their changes made to Groups in a similar manner to
- What has been done:
- 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.
- What it does:
- Minor JavaFX Edit for window size.
- Groups data structure
- Enhancements to Existing Features:
- Add JUnit testcases for
LogicManager,AddressBookandModelManagerclasses.
- Add JUnit testcases for
- Documentation:
- Developer Guide
- Transfer Project Scope and NFRs (discussed by team).
- Update Use Case Formatting.
- Update AB3 Model Component Details and Class diagrams to account for
GroupandAssignmentclasses. - Update Implementation Details, Sequence and Object diagrams for the following sections:
- Add/Delete Group Feature
- Add/Delete Member Feature
- Display/List Group Feature
- Assign/Delete Task Feature
- Bulk Commands Feature
- User Guide
- Transfer Person related Commands (discussed by team).
- Developer Guide
- 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