Tay Jun Yang's Project Portfolio Page
Project: ManageEZPZ
ManageEZPZ is a desktop application that allows managers or supervisors to manage employees and assign tasks to them. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.
Given below are my contributions to the project.
- New Features:
- Implemented
markTask
feature, which marks the task identified by the index number used in the displayed task list as done. (#87, #170) - Implemented
unmarkTask
feature, which unmarks the task identified by the index number used in the displayed task list, which changes the status back to not done. (#87, #170) - Implemented
deleteTask
feature, which deletes the task identified by the index number used in the displayed task list. The number of assigned tasks of the employees who were assigned to the deleted task will then be decreased by 1. (#89, #170, #259) - Implemented Copying Employee Details to Computer Clipboard feature, which enables the user to right-click on an employee to copy the full name, phone number and email to Computer Clipboard. (#181)
- Justification: This feature allows the user to tag a task to an employee or untag a task from an employee easily by pasting the copied full name of the employee into the command text box.
- Implemented
- Enhancements to Graphical User Interface (GUI) of Main Window: (#123, #142, #170, #181, #247, #326)
- Tweaked the GUI to display the employee list and task list.
- In employee list, details of each employee (
name
,phone
,email
,numOfTasks
) are listed. - In task list, details of each task (
description
,type
,assignees
,priority
,isDone
) are listed.
- In employee list, details of each employee (
- Justification:
- This enhancement is important as all other features implemented by my teammates must be reflected correctly in the employee list and task list.
- Highlights:
- This enhancement requires me to research on JavaFX extensively as I need to understand JavaFx properties and build layouts in fxml code with the help of the Scene Builder software. I will also need to have knowledge on CSS as CSS is used to set the style and alignment of JavaFx containers and controls.
- This enhancement ensures that the employee list and task list displayed in the GUI are updated synchronously whenever any changes are made to the data.
- This enhancement ensures that all features implemented by my teammates are working as expected.
- Tweaked the GUI to display the employee list and task list.
- Enhancements to Existing Features:
- Enhanced the
editEmployee
feature, which is refactored from theedit
feature of AddressBook-Level3. - Enhanced the
deleteEmployee
feature, which is refactored from thedelete
feature of AddressBook-Level3. - Updated the GUI of the Help Window to replace the user guide URL and showcase the feature of copying employee details to Computer Clipboard. (#247)
- Enhanced the
- Enhancements to New Features:
- Tweaked the
tagTask
feature implemented by team member Alfred Koh. (#170)- Ensured that the GUI is updated synchronously to show that
- the task is assigned to the employee in the displayed employee list and the number of assigned tasks of the employee is increased by 1.
- the employee’s full name is added to the assignees of the task in the displayed task list.
- Ensured that the GUI is updated synchronously to show that
- Tweaked the
untagTask
feature implemented by team member Alfred Koh. (#170)- Ensured that the GUI is updated synchronously to show that
- the task is deallocated from the employee in the displayed employee list and the number of assigned tasks of the employee is decreased by 1.
- the employee’s full name is removed from the assignees of the task in the displayed task list.
- Ensured that the GUI is updated synchronously to show that
- Tweaked the
tagPriority
feature implemented by team member Alfred Koh. (#170)- Ensured that the GUI is updated synchronously to show that the task is assigned with the specified
priority
.
- Ensured that the GUI is updated synchronously to show that the task is assigned with the specified
- Tweaked the
editTask
feature implemented by team member Aaron Loke. (#179, #182, #185)- Handled bugs such as IndexOutOfBounds for invalid task index of the displayed task list.
- Ensured that
type
,assignees
,priority
andisDone
remain unchanged and the original values are not discarded after editing the task. - Ensured that exception messages are thrown correctly and appropriately.
- Ensured that the GUI is updated synchronously to show that the task details are updated.
- Guided team member Aaron on the approach of resolving the bugs so that the advertised behaviour in the UG will be consistent with the actual behaviour (#256).
- Tweaked the
- Enhancements to Validation Checks and Error Messages: (#179, #185, #247, #259)
- Ensured that all validation checks are handled properly.
- Ensured that all error messages shown to the user upon executing the wrong commands are correct and understandable, so that the user can recover from any errors and continue using the application.
- Icons for GUI:
- Created icons. (#142, #181)
- Modified Task icon created by feen (Flaticon) to fill up colours and change stroke colour. (#142)
- Created icons. (#142, #181)
-
Code Contributed: RepoSense link
- Project Management:
- Released v1.3.3 and v1.3.4 on GitHub after bug fixes.
- Assisted in merging PRs of implementations done by other teammates.
- Documentation:
- User Guide:
- Added full details for the features
editEmployee
,deleteEmployee
,markTask
,unmarkTask
anddeleteTask
. (#169, #259) - Polished the details and examples for the features
tagTask
,untagTask
andtagPriority
. (#169) - Standardized the formatting of all commands and update some missing details in other commands. (#169)
- Updated the table formatting for Command Summary. (#169)
- Added full details for the features
- Developer Guide:
- Added Non-Functional Requirements and Glossary details. (#20)
- Added implementation details of the
UI
component forTaskListPanel
andTaskListCard
. (#129) - Added implementation details of the
Logic
component fordeleteTask
,markTask
andunmarkTask
features, including the class diagrams and screenshots of the application executing the feature. (#129, #292)
- User Guide:
- Community:
- Tools:
- IntelliJ IDEA
- JavaFX Scene Builder
- Adobe Photoshop