Project: HR Insight

HR Insight is a desktop app for HR people, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.

Given below are my contributions to the project.

  • New Feature: Undo and redo commands
    • What it does: Allows users to undo previous commands and reverse the undo commands with the redo command. (PR #85)
    • Justification: This feature improves the app significantly because users can conveniently undo any mistakes in command, so any errors can be fixed quickly.
    • Highlights: The design to implement undo and redo commands is challenging and fun to think about.
  • New Feature: Leave command and employee’s leave attribute
    • What it does: Allows employees to have a leave attribute that records which months they are on leave, and allows users to edit those leaves using the leave command. (PR #62)
    • Justification: HR people should be able to view and edit the leave records of all employees in the company.
  • New Feature: Sort command
    • What it does: Allows users to sort the employee list based on a given parameter, e.g., sort based on name, sort salary in descending order, etc. (PR #108)
    • Justification: This feature mimics real employee lists or tables that enable HR people to sort based on certain criteria, so they can get more insights from the employee data.
    • Highlights: I learned a lot from implementing a custom comparator in Java to enable list sorting.
  • New Feature: Navigate through previous commands using up/down keys
    • What it does: Allows users to navigate through their previous inputs conveniently using up/down keys on the keyboard. (PR #126)
    • Justification: This feature improves the user experience significantly because it mimics real computer CLI/terminal behavior.
  • Code contributed: RepoSense link

  • Enhancements to existing features:
    • Adapted add, edit, and list commands to work based on HR Insight needs. (PR #26)
  • Documentation:
    • User Guide and Developer Guide: Added documentation for undo, redo, leave, sort commands.
  • Community:
    • Reviewed PRs and gave non-trivial suggestions to improve code quality. (#61, #74, #117)
    • Reported and fixed critical bugs. (PR #75, #110, #136)
    • Set up the organization, repo, and Codecov for the team.