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

RepoSense Link

Enhancements Implemented

  • New Features
    • Implemented add-leave feature
      • Created a AddLeaveCommand class to handle the logic (Refer to code here) and AddLeaveCommandParser 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.
    • Implemented delete-leave feature
      • Created a DeleteLeaveCommand class to handle the logic (Refer to code here) and DeleteLeaveCommandParser 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.
  • Existing Features
    • Made improvements to the Leave class by storing Leave 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).

Contributions to the UG

  • Added documentation for following parts:
    • add-leave command
    • delete-leave command
    • delete 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 command
    • delete-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.

Reviewing Contributions