Table of Contents


About HMHero

Have you ever found managing the constant influx of applicants during each application cycle challenging? Do you struggle to filter through numerous applicants to find the right fit for the job?

Look no further as HMHero is here to ease your troubles and save your valuable time!

Overview of key features

There are two core features that HMHero provides:

  1. Applicant Management System
  2. Hiring Process Analytics

Applicant Management System

HMHero empowers you to manage applicants during hiring process.
You can:

  1. Easily add, edit, delete, and view your applicants.
  2. Quickly advance applicants through application statuses or reject them.
  3. Filter shortlisted applicants and sort them by interview date.
  4. Filter all applicants based on their skill-sets.
  5. View all applicants that have interviews coming up in three days.

Hiring Process Analytics

HMHero provides analysis on your hiring process.
You can:

  1. Find out how many applicants are accepted out of total applicants.
  2. Find out the average time taken to process each applicant.

Back to Table of Contents


How to use this User Guide

You may come across colored boxes containing text that will aid you in better understanding how to use each feature.

Other than the icons mentioned above, you may also come across Phrases coloured in blue are hyperlinks that will bring you to another part of this documentation that is relevant to the phrase.

Back to Table of Contents


Purpose of User Guide

If you are a new user, head over to the Installation section to download the application.

Next, you can find the necessary information to get started in the Quick Start section!

If you are an experienced user, you may head over to the Command Summary to get a quick overview of all the commands available in HMHero!

If you are stuck, please refer to the section on Troubleshooting or FAQ.

You can also refer to the Glossary for definitions of commonly used terminologies in HMHero.

Back to Table of Contents


Installation

  1. Ensure you have downloaded Java 11 or above installed in your computer. If you have not, you may download it here.
  2. Download the latest HMHero from here.
  3. Copy the file to an empty folder. This folder is where all the information needed for the HMHero application will reside in.
  4. Double-click on the jar file to launch HMHero.
  5. A GUI similar to the one below should appear in a few seconds. Note how the app contains some sample data.

UI image

The following section on Quick Start is a tutorial on how to use HMHero after you have launched it for the first time. Feel free to skip to the next section on Commands if you are already familiar with the application!

Back to Table of Contents


Quick Start

This section covers everything you should know about HMHero, as well as a tutorial on trying your first command. Take note that the Key Definitions and Command Format sections covers essential knowledge to using HMHero’s features.

User Interface

When you launch HMHero, HMHero appears on your screen as a Graphical User Interface(GUI). Let’s explore the layout of the different components of HMHero.

HMHero’s GUI consists of a single main window consisting of 3 main sections.

  1. Command Input Box: Input command text field
  2. Command Output Box: Command result
  3. Applicant List Box: List of applicants

The following picture of the main window shows the three components, numbered accordingly: components.png

HMHero also has the Help Window. It is not part of the main GUI and is only shown after a Help Command is run.

The Help Window looks like the following:

help_window.png

Back to Table of Contents


Key Definitions

Applicant

An applicant in HMHero represents an individual that applied for a job at your company. HMHero tracks various attributes of an applicant. Compulsory attributes would include their name, phone number, address and email.

The following are the attributes stored for each Applicant

  • Name
  • Phone Number
  • Address
  • Email
  • Application Date
  • Interview Date
  • Notes

Applicants are unique by name and phone number and are case sensitive. This means you cannot add two or more applicants of the same name and phone number.

Back to Table of Contents


Notes

A note in HMHero serves as a means of labelling the skills of an applicant. These tags are unique and case-sensitive.

We can tag multiple applicants with the same note and each applicant can have multiple notes. These notes are optional.

Feel free to make use of notes as you fit to highlight skill-sets of an applicant. Examples of such notes can include:

  • Technical proficiency, e.g. Python, Java, Flask
  • Soft Skills, e.g. Project Management, Event Planning

HMHero’s Notes are unique by name and are case-sensitive. This means you cannot add two or more notes of the same name.

Back to Table of Contents


Flags

Flags are delimiters that enable HMHero to distinguish different parameters without ambiguity.

You could put in the corresponding Placeholder immediately after each flag.

Placeholder refers to the UPPER_CASE words that can be replaced by valid user input supplied. These placeholders follow immediately after a Flag.

Back to Table of Contents


Placeholders

Placeholder refers to the UPPER_CASE words that can be replaced by valid user input supplied. These placeholders follow immediately after a Flag.

Please refer to the subsequent Command Format section to see how Flags and Placeholders are used together.

Placeholder Corresponding Flag Description Restrictions
INDEX (Not Applicable) The INDEX of an item is the number to the left of the applicant’s name in the Item List Box. The INDEX is restricted to the number of applicants in HMHero and cannot be negative.
NAME n/ The NAME is the text we use to identify an Applicant. The NAME of an applicant must be alphabetic characters and no numbers are allowed.
PHONE p/ The PHONE is the text we use to represent the phone number of the Applicant. The PHONE of an applicant must have at least 3 numbers and must be numeric characters.
EMAIL e/ The EMAIL is the text we use to represent the email of the Applicant. EMAIL must be in the format username@domain

username:
- Should only contain alphanumeric characters and these special characters (+, _, ., -)
- Should not start or end with any special characters.

domain:
- Should be at least 2 characters long.
- Each domain label should start and end with alphanumeric characters.
- Each domain label consists of alphanumeric characters, separated only by hyphens, if any.
NOTE note/ The NOTE is the text we use to represent the skill of an Applicant. NOTE cannot be longer than 45 characters long.
APPLICATION DATETIME applied/ The APPLICATION DATETIME is the text we use to represent the date and time that the Applicant applied for the job. Format of datetime is DD-MM-YYYY HH:mm
INTERVIEW DATETIME d/ The INTERVIEW DATETIME is the text we use to represent the date and time of the Applicant’s interview. Format of datetime is DD-MM-YYYY HH:mm

INTERVIEW DATETIME can only be scheduled after the APPLICATION DATETIME.

Back to Table of Contents


Command Format

Before you delve into the different commands in Commands, let’s learn what a command consists of.

Here is an example: CommandExample.png A command consists of: Command Word: Tells HMHero what action you wish to execute. These actions are covered in Commands.
Flags: Distinguishes between inputs. A flag is usually followed by a placeholder.
Placeholders: Represents data that you wish to input. Replace this with valid data.
For example, NAME in n/NAME can be replaced with n/John.

Back to Table of Contents


Trying your First Command

To let you become more familiar with HMHero, let’s practise executing some commands.

One of the available commands in HMHero is the command to create a new applicant.

Format: add n/NAME p/PHONE e/EMAIL a/ADDRESS [applied/APPLIED DATE TIME] [note/NOTE]

What does the format mean?

  • add tells HMHero that this is the command to create a new applicant
  • Flags such as n/ and p/ are delimiters that enable HMHero to distinguish different parameters supplied by you without ambiguity
  • Placeholders such as NAME and PHONE shows you what you should place in each portion of the command

Notice that there is a pair of square brackets [] surrounding some parameters like note/NOTE and applied/APPLICATION DATE TIME in the format. This indicates that the parameter is optional. Each of these placeholders in the parameters have a default value based on the commands. These are documented in the Commands section for each command.

Let’s try an example!

Suppose you just add Thomas, 98765432, thomas@gmail.com, living at 1 Sims Drive (s)543210, and you do not feel the need to record a note for this applicant.

NAME: Thomas

PHONE: 98765432

EMAIL: thomas@gmail.com

ADDRESS: 1 Sims Drive (s)543210

The command you would like to enter into the command box would be:

add n/Thomas p/91918153 e/thomas@gmail.com a/6 Sims Drive (s)543230

Find out more about restrictions in the sections Flags, Placeholders and Commands.


Here are some pointers to look out for before running a command:

  • I know the restrictions of the command
  • I know what parameters are supplied to the command
  • I know the flags for each parameter to be supplied
  • I know the restrictions of each parameter
  • I know the effects of not specifying each optional flag.

Back to Table of Contents


Commands

This section shares with you on how to use each command in detail.

Back to Table of Contents

Applicant Commands

Create a new applicant add

Format: add n/NAME p/PHONE e/EMAIL a/ADDRESS [applied/APPLIED DATE TIME] [note/NOTE]

You can create a new applicant with the provided information

Example:

  • You want to create a new applicant named Adam whose information does not exist in HMHero yet.

Command Input Box: add n/Adam p/91918153 e/adam@gmail.com a/6 Sims Drive

What you should see:

  1. Adam is added into the Applicant list.
  2. Command Output Box shows that Adam is added and his details. add_command.png

Back to Table of Contents


Search for an applicant find

Format: find n/[NAME] p/[PHONE]

You can find all applicants in HMHero using name, phone or both

Example:

  • You want to search for an applicant named Adam whose information exist in HMHero.

Command Input Box: find n/Adam p/91918153

What you should see:

  1. Adam is found in the Applicant list.
  2. Command Output Box shows that 1 person is listed. find_command.png

Back to Table of Contents


List all applicants list

Format: list

You can list all applicants in HMHero

Example:

  • You want to list all applicants who exist in HMHero.

Command Input Box: list

What you should see:

  1. The whole list of applicants in the Applicant list.
  2. Command Output Box shows the total applicants and numbers of applicants in each stage. list_command.png

Back to Table of Contents


Delete an applicant delete

Format: delete n/NAME p/PHONE

You can delete an applicant in HMHero using name and phone

Example:

  • You want to delete an applicant who exist in HMHero.

Command Input Box: delete n/Bernice Yu p/91234567

What you should see:

  1. Bernice Yu is deleted from the Applicant list.
  2. Command Output Box shows that Bernice Yu is deleted and her details. delete_command_after.png

Back to Table of Contents


Advance an applicant advance

Format: advance n/NAME p/PHONE [d/INTERVIEW DATETIME]

You can advance an applicant in HMHero using name, phone and interview datetime

Example:

  • You want to advance an applicant’s status APPLIED who exist in HMHero.

Command Input Box: advance n/Adam p/91918153 d/20-05-2023 12:12

What you should see:

  1. Adam is advanced from status APPLIED to status SHORTLISTED in the Applicant list.
  2. Command Output Box shows that Adam is advanced, his old and new status. advance_command_applied.png

Example:

  • You want to advance an applicant’s status SHORTLISTED who exist in HMHero.

Command Input Box: advance n/Adam p/91918153

What you should see:

  1. Adam is advanced from status SHORTLISTED to status ACCEPTED in the Applicant list.
  2. Command Output Box shows that Adam is advanced, his old and new status. advance_command_shortlisted.png

Back to Table of Contents


Reject an applicant reject

Format: reject n/NAME p/PHONE

You can reject an applicant in HMHero using name and phone

Example:

  • You want to reject an applicant’s status SHORTLISTED who exist in HMHero.

Command Input Box: reject n/Alex Yeoh p/87438807

What you should see:

  1. Adam is rejected from status SHORTLISTED to status REJECTED in the Applicant list.
  2. Command Output Box shows that Adam is rejected. reject_command.png

Back to Table of Contents


List all interview dates of applicants interview

Format: interview

You can list all interview dates of shortlisted applicants in HMHero in chronological order

Example:

  • You want to list the interview dates of the shortlisted applicants who exist in HMHero.

Command Input Box: interview

What you should see:

  1. All the interview dates of the shortlisted applicants in the Applicant list. interview_command.png

Back to Table of Contents


Edit an existing applicant edit

Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [d/INTERVIEW DATETIME] [note/NOTE]

You can edit an existing applicant with the provided information

Example:

  • You want to edit the phone number and notes of an applicant who exist in HMHero.

Command Input Box: edit 2 p/91234567 note/Kotlin note/Python note/leadership

What you should see:

  1. Bernice’s phone number and notes are edited in the Applicant list.
  2. Command Output Box shows that Bernice is edited with her new information shown. edit_command_after.png

Back to Table of Contents


Get reminders for upcoming interviews remind

Format: remind

You can list all applicants with interviews within the next three days.

Example:

  • You want to see all the applicants with interview within the next three days who exist in HMHero.

Command Input Box: remind

What you should see:

  1. Adam’s interview date is within the next three days which is shown in the Applicant list.
  2. Command Output Box shows the success message. remind_command.png

Back to Table of Contents


Filter applicants with specific skill(s) skill

Format: skill KEYWORD(s)

You can filter all applicants in HMHero using specific skill keyword(s)

Example:

  • You want to search for applicants with java skill that exist in HMHero.

Command Input Box: skill java

What you should see:

  1. Adam who has java skill is found in the Applicant list.
  2. Command Output Box shows that 1 person is listed. skill_command.png

Back to Table of Contents


Statistics Commands

Summary Statistics summary

Format: summary

You can show a statistical summary of the company’s hiring processes.

Example:

  • You want to see the statistics for your hiring cycle in HMHero.

Command Input Box: summary

What you should see:

  1. A list of all applicants found in the Applicant list.
  2. Command Output Box shows the statistics for your hiring cycle. summary_command.png

Back to Table of Contents


General Commands

Receive help during usage help

Format: help

You can display help window for HMHero which contains link to User Guide.

Example: help_command.png

Back to Table of Contents


Exit HMHero exit

Format: exit

You can exit HMHero

Expected Outcomes:

  • All HMHero application windows will close
  • Your data is saved locally in your computer.

Back to Table of Contents


Command Summary

Applicant Commands

Action Format Example
Add a new applicant add n/NAME p/PHONE e/EMAIL a/ADDRESS [note/NOTE] add n/Tom p/98763213 e/asd@gmail.com a/6 Sims Drive (s)532123 note/Python
Search for an applicant find [n/NAME] [p/PHONE]
(Minimally one of n/NAME or p/PHONE must be provided)
find n/Tom p/98763213
List all applicants list list
Delete an applicant delete n/NAME p/PHONE delete n/Tom p/98763213
Advance an applicant advance n/NAME p/PHONE [d/INTERVIEW DATETIME]

Note: You need to provide an INTERVIEW DATETIME to advance an applicant’s status from APPLIED to SHORTLISTED
advance n/Tom p/98763213 d/20-03-2024 12:12
Reject an applicant reject n/NAME p/PHONE reject n/Tom p/98763213
View the interview dates of applicants interview interview
Edit the information of an applicant edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [d/INTERVIEW DATE TIME] [note/NOTE] edit 1 n/Marry p/98763245
Remind an applicant’s interview date remind remind
Filter applicants with specific skill(s) skill KEYWORD(s) skill java

Back to Table of Contents


Statistics Commands

Action Format Example
Displays statistics collected by HMHero summary summary

Back to Table of Contents


General Commands

Action Format Example
Shows a help dialog with a link to HMHero User Guide help help
Exits HMHero exit exit

Back to Table of Contents


Troubleshooting

Problem:

The JAR file not launching even after double-clicking the file.

Solution:

  1. Open your terminal
    • Windows:
    • The default key combination to launch your terminal is Ctrl+Shift+P * Mac:
    • Use Cmd+Space to open Spotlight Search
    • Search for “terminal” and click it to launch.
  2. Navigate to the location where “hmhero.jar” is stored within your terminal using cd. For example, cd Downloads/

  3. On your terminal, run java -jar hmhero.jar

Problem:

The JAR file not launching in Windows Subsystem for Linux (WSL).

Solution:

  1. Our recommendation is to run HMHero application on Windows and not on WSL.

Problem:

Unable to exit/save HMHero to data file

Solution:

  1. This error is due to hmhero.jar being started in a protected folder. (Examples of write-protected folders includeC:\WINDOWS\System32 in windows and the /etc dir in linux)
    Please move the hmhero.jar file into another folder in your computer and start HMHero application from that folder.

Back to Table of Contents


FAQ

Q: If I do not have Java 11, how do I install it on my computer?

A: You can navigate to this site here and download Java 11 according to your system’s specifications.

Q: Do I need an internet connection to run HMHero?

A: No, HMHero can boot up and run all functionalities without an internet connection.

Q: Can I use HMHero on my mobile device?

A: Unfortunately, HMHero is only designed to run on your desktop/laptop such that you can use the command line interface.

Q: How do I transfer my data to another computer?

A: Install HMHero on the other computer and overwrite the empty data file with the data file created by HMHero in your current computer.

Back to Table of Contents


Acknowledgements

HMHero is a brownfield software engineering project based off AddressBook Level-3, taken under the CS2103T Software Engineering held by School of Computing at National University of Singapore.

Java dependencies:

Documentation dependencies:

Back to Table of Contents


Glossary

Quick Reference


A

ADDRESS Placeholder

The ADDRESS is a text representing the address of the applicants.
To view more information (limitations, examples, etc.), refer to the Placeholder table.

Address

The address of the applicant provided by the user.

Applicant

The person who apply to the company for the job.

Applicant List Box

The region located at the bottom left of the HMHero’s main window.
To view more information, refer to the User Interface section of the User Guide

Application Cycle

All applicants added are at the Applied status by default. From there, hiring managers can advance their application status to Shortlisted, then to Accepted. Applicants can be rejected at any stage. Application Cycle

C

COMMAND_WORD Placeholder

The COMMAND_WORD is a text indicating a command word of a command
To view more information (limitations, examples, etc.), refer to the Placeholder table.

Command

A feature or function that HMHero can perform.

Command Input Box

The region located at the top left of the HMHero’s main window.
To view more information, refer to the User Interface section of the User Guide

Command Line

The typing interface that you use to interact with HMHero. It is represented as the box where you type in commands.

Command Output Box

The region located at the right half of the HMHero’s main window.
To view more information, refer to the User Interface section of the User Guide

E

EMAIL Placeholder

The EMAIL is a text representing the email address of the applicants.
To view more information (limitations, examples, etc.), refer to the Placeholder table.

Email

The email address of the applicant provided by the user. Emails should end with a valid domain name (e.g. gmail.com, hotmail.com, etc.)

F

Flags

A marker to identify the type of input by the user. For instance, in n/NAME, n/ is the flag.

G

Graphical User Interface

A Graphical User Interface is a graphics-based interface that uses icons, menus and a mouse (to click on the icon or pull down the menus) to manage interaction with the system. In HMHero, this presents as the window that appears when launching it.

H

Help Window

A pop-up window containing help information, shown only after calling a help command.
To view more information, refer to the User Interface section of the User Guide

Hiring Manager

A person responsible for overseeing the recruitment process within an organization, from identifying staffing needs to making hiring decisions.

I

Input

The text that a user would enter into HMHero

INTERVIEW_DATE Placeholder

The INTERVIEW_DATE is the date indicating when the applicant is having his/her interview.
To view more information (limitations, examples, etc.), refer to the Placeholder table.

Interview Date

Date where applicants are going to have their interviews. Interview date is in the format “day-month-year hour:minute”, represented in the “DD-MM-YYYY HH:MM” format.

K

KEYWORD Placeholder

The KEYWORD is the text we use search for an item. It can be NAME or PHONE_NUMBER of the applicant.

N

NAME Placeholder

The NAME is a text representing the name of the applicants.
To view more information (limitations, examples, etc.), refer to the Placeholder table.

Name

The name of the applicant provided by the user.

NOTES Placeholder

The NOTES are some texts that use to represent the skill set of the applicants.
To view more information (limitations, examples, etc.), refer to the Placeholder table.

Notes

The skill set the applicant possesses provided by the user.

O

Operating System

Is a software program that manages computer hardware and software resources, and provides common services for computer programs to run and interact with the computer hardware.

Output

The result after calling a Command. Results are displayed in the GUI.

P

Parameter

Values that are passed while calling the Commands. For instance, when calling find n/NAME, parameter here is n/NAME.

PHONE_NUMBER Placeholder

The PHONE_NUMBER is an integer representing the phone number of the applicant.
To view more information (limitations, examples, etc.), refer to the Placeholder table.

Phone Number

The phone number of the applicant provided by the user.

Placeholder

Placeholders in HMHero refers to the UPPER_CASE words that appear after the flags in commands that is provided by the user. For instance, n/NAME, NAME is a placeholder

S

STATUS Placeholder

The STATUS is a text that represent the current state of the applicant.
To view more information (limitations, examples, etc.), refer to the Placeholder table.

Status

Status has four stages, which are APPLIED, SHORTLISTED, ACCEPTED and REJECTED. Status can only be modified by using advance or reject command.

Syntax

The structure of statements/inputs users type into the Command Line.

U

URL

A hyperlink to a website.

Back to Table of Contents