Chao Yung's Project Portfolio Page
Project: Coydir
Coydir is a desktop application used by Human Resource Executives to streamline processes in managing their staffing. The user interacts with it using a CLI, and it has a GUI created with JavaFX.
Given below are my contributions to the project.
Summary of Contributions
Code Contributed
Enhancements Implemented
- New Features
- Implemented
add-leave
feature- Created a
AddLeaveCommand
class to handle the logic (Refer to code here) andAddLeaveCommandParser
class to handle the parsing of the user input (Refer to code here). - Use Case: User can add leave periods for employees.
- Justification: With this command, users of Coydir will be able to keep track of employee leave periods and their availability at all times.
- Highlights: This command was slightly tricky to implement, as there were many cases to consider, such as overlapping leaves, or insufficient leaves.
- Created a
- Implemented
delete-leave
feature- Created a
DeleteLeaveCommand
class to handle the logic (Refer to code here) andDeleteLeaveCommandParser
class to handle the parsing of the user input (Refer to code here). - Use Case: User can delete leave periods for employees.
- Justification: With this command, users of Coydir will be able to make changes easily when employees change their leave periods.
- Highlights: Smoother to implement, though just like
add-leave
, there were many dependencies and many files to be edited.
- Created a
- Implemented
- Existing Features
- Made improvements to the
Leave
class by storingLeave
objects in a priority queue, and add methods to check for overlapping or equal leaves. - Refactored
Delete
command. - Fixed multiple bugs (Refer to #109, #130, #140, #235).
- Made improvements to the
Contributions to the UG
- Added documentation for following parts:
add-leave
commanddelete-leave
commanddelete
command- Quickstart
- Controlling total leave for an employee section
- Checking if an employee is on leave section
- Links to table of content
Contributions to the DG
- Edited implementation details for:
delete
- Added implementation details for:
add-leave
commanddelete-leave
command
- Refactored diagrams and command names
Contributions to the team-based tasks
- Helped to create and distribute issues.
- Wrote test code for features that I upgraded (delete, add-leave, delete-leave).
- Contributed to manual testing of application to find bugs.
- Oversaw documentation work.