Nixon's Project Portfolio Page
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
, andlist
commands to work based on HR Insight needs. (PR #26)
- Adapted
- Documentation:
- User Guide and Developer Guide: Added documentation for
undo
,redo
,leave
,sort
commands.
- User Guide and Developer Guide: Added documentation for
- Community: