User Guide
Overview
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 purpose of this app is to provide HR employees a centralized employee management system to better manage all employees’ details and improve the efficiency of their workflow.
HR Insight proves to be a particularly valuable tool for professionals specializing in the domains of Employee Benefits, Employee Engagement and Administration.
- Employee Benefits in terms of keeping count of employees’ leaves and claims.
- Employee Engagement in terms of tracking employees’ birthday.
- Administration in terms of keeping record of employees’ details.
- Overview
- Quick start
-
Features
- Viewing help :
help - Adding an employee:
add - Listing all employees :
list - Deleting an employee :
delete - Editing an employee’s information :
edit - Finding employees by name:
find - Clearing all entries:
clear - Managing employee’s claims:
claim - Adding employee’s Leave:
leave - Viewing all employees’ leaves :
view_leave - Resetting all employees’ leaves :
reset_leaves - Viewing all birthdays in a given month :
birthday - Viewing employee’s details:
view - Sorting the employee list:
sort - Undoing previous commands:
undo - Redoing previous undone commands:
redo - Exporting employee’s details:
export - Changing the Application Theme :
theme - Exiting the app:
exit - Saving the data
- Editing the data file
- More detailed leave records [Coming soon]
- Viewing help :
- FAQ
- Known issues
- Command summary
Quick start
-
Ensure you have Java
11or above installed in your Computer. -
Download the latest
HRInsight.jarfrom here. -
Copy the file to the folder you want to use as the home folder for your HR Insight.
-
Open a command terminal,
cdinto the folder you put the jar file in, and use thejava -jar HRInsight.jarcommand to run the application.A GUI similar to the one below should appear in a few seconds. Note how the app contains some sample data.

-
Type the command in the command box and press Enter to execute it. e.g. typing
helpand pressing Enter will open the help window.
Some example commands you can try:-
help: Opens a web browser tab explaining the features HR Insight offers. -
add n/John Doe p/87654321 e/john.doe@gmail.com a/Tokyo s/5000 b/2000 d/Sales dob/1992-07-21:
Adds an employee namedJohn Doeto the employee list. -
list: Lists all the details of an organization’s employees. -
delete 3: Deletes the 3rd employee shown in the current list. -
edit 1 p/1234567: Edits phone attribute for the 1st employee in the list. -
find: Finds employees whose names match any of the given keywords. -
clear: Deletes all employees from the database. -
claim 2 $/-60: Deducts $60 from the claim budget of the 2nd employee in the list. -
leave 1 m/1: Indicates 1st employee in the list will be taking leave in Jan. -
view_leave m/2: Displays employees who have taken leaves in the Feb. -
reset_leaves: Resets all employees to have no recorded leaves. -
birthday m/3: Displays employees who are born in Mar. -
view n/1,2: View respective names of the 1st and 2nd employee in the list. -
sort phone: Sorts employees based on their phone numbers in ascending order. -
undo: Undo the most recent commands that modified the employee list. -
redo: Redo the most recent commands that was undone. -
export all_employee: Exports employees’ data into csv with filename of all_employee.csv. -
theme light: Change the application theme to light theme. -
exit: Exits the app.
-
-
You can navigate through your previous commands using or on your keyboard, just like your computer’s CLI or terminal.
-
Refer to the Features below for details of each command.
Features
Notes about the command format:
-
Words in
UPPER_CASEare the parameters to be supplied by the user.
e.g. Inadd n/NAME,NAMEis a parameter that can be used asadd n/John Doe. -
Items in square brackets are optional.
e.glist [d/DEPARTMENT]can be used aslistor aslist d/Engineering. -
Parameters can be in any order.
e.g. If the command specifiesn/NAME p/PHONE_NUMBER,p/PHONE_NUMBER n/NAMEis also acceptable. -
Parameters given outside the command format will throw an error or affect other parameters.
e.g.list [d/DEPARTMENT]only acceptsd/parameter.list z/allwill throw an error. -
We allow all employee names, not limited to alphanumeric names, to accommodate names such as
X AE A-Xii,Dr. Adam Smith, Ph.D., and$helly. -
All words in the parameters given cannot start with the prefixes in that command.
e.g.addcommand requiresn/ p/ e/ a/ s/ b/ d/ dob/prefixes.
Therefore, names given inaddcommand cannot contain these prefixes because they have been reserved for that command.
This constraint applies for all words in all parameters in that command.
To accommodate names withs/oord/o, we recommend to useS/OorD/Oinstead. -
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
Viewing help : help
Automatically opens a new tab in your default browser to this User Guide page.
If HRInsight is unable to redirect you to the page, it will show a dialog box containing URL to this page.
Format: help
Adding an employee: add
Adds an employee to the employee list.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS s/SALARY b/CLAIM_BUDGET d/DEPARTMENT dob/BIRTH_DATE (YYYY-MM-DD)
Examples:
add n/Adam p/12345678 e/adam@gmail.com a/Singapore s/10000 b/5000 d/Engineering dob/2000-01-01add n/John Doe p/87654321 e/john.doe@gmail.com a/Tokyo s/5000 b/2000 d/Sales dob/1992-07-21add n/Tharman Shanmugaratnam p/98723459 e/tharman@gmail.com a/Istana, Singapore s/10000 b/10000 d/President dob/1957-02-25
Executing command: add n/Adam p/12345678 e/adam@gmail.com a/Singapore s/10000 b/5000 d/Engineering dob/2000-01-01

Listing all employees : list
Lists all the details of an organization’s employees, or list all employees of a specified department.
Format: list [d/DEPARTMENT]
Examples:
-
listLists all employees in the employee list. -
list d/EngineeringLists all employees in the Engineering department. -
list d/SalesLists all employees in the Sales department.
Executing command: list d/Engineering


Deleting an employee : delete
Delete an employee in the employee list by the specified index.
Format: delete INDEX
- Deletes the employee at the specified
INDEX. - The index refers to the index number shown in the displayed employee list.
- The index must be a positive integer: 1, 2, 3, …
Examples:
-
listfollowed bydelete 2deletes the 2nd person in the employee list. -
find Betsyfollowed bydelete 1deletes the 1st person in the results of thefindcommand. -
list d/Engineeringfollowed bydelete 1deletes the 1st person in the employee list.
Executing command: delete 1


Editing an employee’s information : edit
Edits an existing employee in the employee list by the specified index.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SALARY] [d/DEPARTMENT] [dob/BIRTH_DATE (YYYY-MM-DD)]
- Edits the employee at the specified
INDEX. The index refers to the index number shown in the displayed employee list. The index must be a positive integer 1, 2, 3, … - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- Some prefixes allow for additional descriptors to accommodate a variety of input data that fits within the context of the field, provided they conform to the input requirements.
- For
[n/NAME], specific descriptors (S/O, D/O, etc.) are allowed. Ensure that the full input between the prefix and the next space or prefix is intended as part of the name.
- For
Examples:
-
edit 1 p/23423423 e/barry@example.comEdits the phone number and email address of the 1st person to be23423423andbarry@example.comrespectively. -
edit 1 n/thomas S/O anthony a/SerangoonEdits the name and address of the 1st person to bethomas S/O anthonyandSerangoonrespectively. -
edit 2 s/1000 d/Sales dob/2000-01-01Edits the salary, department and DOB of the 2nd person to be$1000,Salesand1 January 2000respectively.
Executing command: edit 1 p/23423423 e/barry@gmail.com


Finding employees by name: find
Finds employees whose names match any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
- The search is case-insensitive, e.g
hanswill matchHans. - The order of the keywords does not matter, e.g.
Hans Bowill matchBo Hans. - Only the name is searched.
- Only full words will be matched, e.g.
Hanwill not matchHans. - Persons matching at least one keyword will be returned (i.e.,
ORsearch). e.g.Hans Bowill returnHans Gruber,Bo Yang.
Examples:
-
find JohnreturnsjohnandJohn Doe -
find alex davidreturnsAlex Yeoh,David Li
-
find Bernicereturnsbernice.
Executing command: find Bernice


Clearing all entries: clear
Clear all entries from the employee list.
Format: clear
Executing Command: clear

Managing employee’s claims: claim
Performs adjustments to employee’s claims.
Format: claim INDEX $/CLAIM_AMOUNT
- The
INDEXrefers to the index number shown in the displayed employee list. - The index must be a positive integer 1,2,3, …
- The
CLAIM_AMOUNTshould consist of either + or - which symbolizes adding/deducting respectively followed by the amount.- If the
CLAIM_AMOUNTis positive, it symbolizes allocation of more funds to the user’s claim budget. - If the
CLAIM_AMOUNTis negative, it symbolizes deduction of funds from the user’s claim budget.
- If the
Examples:
-
listfollowed byclaim 1 $/-500deducts $50 from employee 1’s claim budget. -
listfollowed byclaim 2 $/+60allocates additional $60 to employee 2’s claim budget. -
listfollowed byclaim 3 $-1000deducts $1000 from employee 3’s claim budget.
Executing command: claim 1 $/-500


Adding employee’s Leave: leave
Adds leave months for an employee.
Format: leave INDEX m/MONTHS
- The
INDEXrefers to the index number shown in the displayed employee list. - The
INDEXmust be a positive integer 1,2,3, … - The
MONTHSrefers to the month of the leave the employee is taking in integer format (between 1-12). - Positive
MONTHSadd leaves on the specified months and negativeMONTHSremove them. - Trailing commas in
MONTHS(leave 1 m/1,2,3,,,) will be ignored, but empty months elsewhere (leave 1 m/1,,,2) will raise an error.
Examples:
-
listfollowed byleave 1 m/3,4adds leaves in March and April for the 1st employee in the list. -
listfollowed byleave 3 m/11,-12adds a leave in Nov and removes a leave in Dec for the 3rd employee in the list. -
listfollowed byleave 2 m/3adds a leave in March for the 2nd employee in the list.
Executing command: leave 1 m/1,3


Viewing all employees’ leaves : view_leave
Views all employees who are on leave, with optional filters of month and department.
Format: view_leave [m/MONTHS] [d/DEPARTMENT]
- Gives a list of all employees who have leaves planned for the year.
- The
MONTHSandDEPARTMENTare optional arguments. - Multiple
MONTHScan be specified, in which employees who have planned leaves in any of the specified months will be shown (“either or” relationship). - When specifying multiple
MONTHS, the months should be separated with commas with no spaces. - If no one in the specified department has planned leave dates for the given month(s), an output indicating no employees is taking leave is shown.
- Trailing commas in
MONTHS(view_leave m/1,2,3,,,) will be ignored, but empty months elsewhere (view_leave m/1,,,2) will raise an error.
Examples:
-
view_leavedisplays all employees who have planned leave dates in the current year. -
view_leave m/10displays all employees who are taking leave in October. -
view_leave m/1,2displays all employees who are taking leave in January or February. -
view_leave m/10 d/ITdisplays all employees in the IT department who are taking leave in October.
Executing command: view_leave m/1,3


Resetting all employees’ leaves : reset_leaves
Reset all employees to have no recorded leaves.
Format: reset_leaves
Executing command: reset_leaves


Viewing all birthdays in a given month : birthday
Views all employees’ birthday in the given months.
Format: birthday [m/MONTH(s)]
- Gives a list of all employees who have upcoming birthdays in the inquired month(s).
- The month argument is optional. If no month is provided, the birthdays in the current month are listed.
- If there is no birthday in the month provided, return No employees have birthdays in this month.
- Months are separated using “,”, e.g. to inquire the employees who have birthdays in Mar and Apr, the input is
birthday m/3,4. - Trailing commas in
MONTH(s)(birthday m/1,2,3,,,) will be ignored, but empty months elsewhere (birthday m/1,,,2) will raise an error.
Examples:
-
birthdaydisplays all employees who have their birthday in the current month. -
birthday m/10displays all employees who have their birthday in the month of October. -
birthday m/1,3,4displays all employees who have their birthday in the month of Jan, Mar and Apr.
Executing command: birthday m/1


Viewing employee’s details: view
Views employee(s)’s personal attribute.
Format: view [n/INDEX] [a/INDEX] [e/INDEX] [p/INDEX] [s/INDEX] [b/INDEX] [d/INDEX] [dob/INDEX]
- ViewCommand provides overview of employee(s)’s attributes.
- Maximum of one prefix is allowed. This means the user can only view one attribute at a time.
- INDEX refers to the index number shown in the displayed employee list.
- INDEX parameters can either be a single digit or digits separated by “,”.
Examples:
-
view s/1,2displays the 1st and 2nd employee respective salaries. -
view a/3,4displays the 3rd and 4th employee respective addresses. -
view dob/1,5displays the 1st and 5th employee respective DOB.
Executing command: view p/1,5

Sorting the employee list: sort
Sorts the employee list based on the given parameter.
Format: sort name / phone / email / address / salary / claim / dep / dob [desc]
- Choose one parameter from
name / phone / email / address / salary / claim / dep / dobto sort. - Put
descto sort in descending order.
Examples:
-
sort nameto sort the employee list based on name in ascending order. -
sort salary descto sort the employee list based on salary in descending order. -
sort claimto sort the employee list based on claim budget in ascending order.
Executing command: sort name desc

Undoing previous commands: undo
Undo the most recent commands that modified the employee list, i.e., add, edit, delete, leave, reset_leaves, clear, sort, redo commands.
Format: undo
Executing command: undo

Redoing previous undone commands: redo
Redo the most recent commands that was undone.
Format: redo
You cannot redo your most recent undone command if, after your last undo, you execute another command(s) that modifies the employee list.
Executing command: redo

Exporting employee’s details: export
Export employee’s details into a csv file format.
Format: export [file_name]
- ExportCommand provides HR employees a way to download employees’ data into CSV format.
- The exported file_name.csv will be found in the Exported_CSVs folder.
- You must provide a file_name. File_name can comprise alphanumeric and special characters.
- To export only a subset of employees, user should perform filtering before exporting.
Examples:
-
listfollowed byexport all_datawill download all employees’ attributes into a csv file. -
list d/Engineeringthenexport engineering_teamwill only download employees in engineering department. -
birthday m/1thenexport birthday_Janwill only download employees with birthdays in January.

Changing the Application Theme : theme
Changes the theme of the application according to the current available options.
Format: theme THEME_NAME
Current available themes:
dark, light, red, green, blue.
Examples:
-
theme redChanges the application theme to the red theme. -
theme lightChanges the application theme to light theme. -
theme greenChanges the application theme to green theme.
Executing command: theme light

Exiting the app: exit
Exits the app.
Format: exit
Saving the data
HR Insight data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data file
HR Insight data are saved automatically as a JSON file [JAR file location]/data/hrinsight.json. Advanced users are welcome to update data directly by editing that data file.
More detailed leave records [Coming soon]
Currently, HR Insight only records employees’ leave months. In v2.0, we will record the exact dates of employees’ leaves to provide more detailed leave records.
FAQ
Q: How do I transfer my data to another computer?
A: Install the app on the other computer and overwrite the empty data file it creates with the file that contains the data of your previous HR Insight home folder.
Known issues
-
When using multiple screens, if you move the application to a secondary screen and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the
preferences.jsonfile created by the application before running the application again.
Command summary
| Action | Format, Examples |
|---|---|
| Help | help |
| Add |
add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS s/SALARY b/CLAIM_BUDGET d/DEPARTMENT dob/BIRTH_DATE (YYYY-MM-DD) e.g., add n/John Doe p/87654321 e/john.doe@gmail.com a/Tokyo s/5000 b/2000 d/Sales dob/1992-07-21
|
| List | list [d/DEPARTMENT] |
| Delete |
delete INDEXe.g., delete 3
|
| Edit |
edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [s/SALARY] [d/DEPARTMENT] [dob/BIRTH_DATE (YYYY-MM-DD)] e.g., edit 1 p/23423423 e/barry@example.com
|
| Find |
find KEYWORD [MORE_KEYWORDS]e.g., find James Jake
|
| Clear | clear |
| Claim |
claim INDEX $/CLAIM_AMOUNT e.g., claim 1 $/-500
|
| Add Leave |
leave INDEX m/MONTHS e.g., leave 1 m/3,-4
|
| View Leave |
view_leave INDEX m/Month d/DEPARTMENT e.g., view_leave m/10 d/IT
|
| Reset Leaves | reset_leaves |
| View Birthdays |
birthday [m/MONTH] e.g., birthday 10
|
| View Attributes |
view [n/INDEX] [a/INDEX] [e/INDEX] [p/INDEX] [s/INDEX] [b/INDEX] [d/INDEX] [dob/INDEX] e.g., view s/1,2
|
| Sort | sort name / phone / email / address / salary / claim / dep / dob [desc] |
| Undo | undo |
| Redo | redo |
| Export Data |
export [file_name] e.g., export engineering_dept
|
| Change Theme |
theme THEME_NAME e.g., theme light
|
| Exit | exit |