RecruitTrackPro is a desktop app for managing applicants, optimized for use via a Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, RecruitTrackPro can get your applicant management tasks done faster than traditional GUI apps.
Ensure you have Java 17
or above installed in your Computer.
Mac users: Ensure you have the precise JDK version prescribed here.
Download the latest .jar
file from here.
Copy the file to the folder you want to use as the home folder for your RecruitTrackPro.
Open a command terminal, cd
into the folder you put the jar file in, and use the java -jar recruittrackpro.jar
command to run the application.
A GUI similar to the 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 help
and pressing Enter will display all available commands.
Some example commands you can try:
list
: Lists all candidates.
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
: Adds a candidate named John Doe
to the RecruitTrackPro.
delete 3
: Deletes the 3rd candidate shown in the current list.
clear
: Deletes all candidates.
exit
: Exits the app.
Refer to the Features below for details of each command.
Tip: Pressing Up and Down will traverse through the session's command history
Notes about the command format:
Words in UPPER_CASE
are the parameters to be supplied by the user.
e.g. in add n/NAME
, NAME
is a parameter which can be used as add n/John Doe
.
Items in square brackets are optional.
e.g. n/NAME [t/TAG]
can be used as n/John Doe t/friend
or as n/John Doe
.
Items with …
after them can be used multiple times including zero times.
e.g. [t/TAG]…
can be used as (i.e. 0 times),
t/friend
, t/friend t/family
etc.
INDEX
must be positive integers, ranging from 1 to 2,147,483,647 (i.e. the range of a 32-bit signed integer).
Parameters except INDEX
and [OPTION]
can be in any order.
e.g. if the command specifies n/NAME p/PHONE_NUMBER
, p/PHONE_NUMBER n/NAME
is also acceptable.
Extraneous parameters for commands that do not take in parameters (such as help
, list
, exit
and clear
) will be ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
For e/EMAIL
, the email must follow a valid format: local-part@domain
.
The local-part may include alphanumeric characters and special characters (.
, _
, -
), but must not start or end with a special character, and must not contain consecutive special characters (e.g., john..doe@example.com
is invalid).
The domain must contain at least one period, and end with a Top-Level Domain (TLD) of at least 2 letters.
For t/TAG
, tags are trimmed of leading and trailing whitespace, and any internal sequences of spaces or tabs are replaced with a single space.
e.g. Java Developer
will be treated the same as Java Developer
.
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.
help
Shows a message that describes the functionality of each command.
Format: help
add
Adds a candidate to the RecruitTrackPro. Names are trimmed of leading and trailing white spaces, and all spaces are replaced with a singular space. (e.g. John Doe
is added as John Doe
)
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]… [c/COMMENT]
Tip: A candidate can have any number of tags (including 0)
Examples:
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
add n/Betsy Crowe t/python e/betsycrowe@example.com a/Newgate Prison p/1234567 t/java
add n/Bruce Wayne e/bwayne@example.com a/Gotham City p/91234567 c/Owner of Wayne Enterprises
list
Shows a list of all candidates in the RecruitTrackPro.
Format: list
edit
Edits an existing candidate in the RecruitTrackPro. Names are trimmed and all spaces are replaced with singular spaces, in the same way as in add
.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]… [c/COMMENT]
INDEX
. The index refers to the index number shown in the displayed candidate list. The index must be a positive integer 1, 2, 3, …t/
without specifying any tags after it.edit-tag
.c/
without specifying any comment after it.Examples:
edit 1 p/91234567 e/johndoe@example.com
Edits the phone number and email address of the 1st candidate to be 91234567
and johndoe@example.com
respectively.edit 2 n/Betsy Crower t/
Edits the name of the 2nd candidate to be Betsy Crower
and clears all existing tags.edit 3 a/Gotham City c/
Edits the address and comment of the 3rd candidate to be Gotham City
and empty respectively.add-tags
Adds one or more tags to an existing candidate in RecruitTrackPro.
Format: add-tags INDEX t/tag [t/MORE_TAGS]…
INDEX
. The index refers to the number shown in the currently displayed candidate list. The index must be a positive integer (e.g., 1, 2, 3, ...).t/java
and t/Java
are treated as the same tag.Examples:
add-tags 1 t/Java Developer t/JSP Framework
Adds the tags Java Developer
and JSP Framework
to the first candidate.add-tags 2 t/Java t/java
Adds the tag Java
to the second candidate (only once), the second tag java
is ignored.add-tags 2 t/jaVa
Informs user that the tag Java
already exists.remove-tags
Removes one or more tags from an existing candidate in RecruitTrackPro.
Format: remove-tags INDEX t/TAG [t/MORE_TAGS]…
INDEX
. The index refers to the number shown in the currently displayed candidate list. The index must be a positive integer (e.g., 1, 2, 3, ...).t/java
and t/Java
are treated as the same tag, but t/java
and t/java developer
are not.Examples:
remove-tags 1 t/Java Developer t/c++
Removes the tags Java Developer
and c++
from the first candidate.edit-tag
Edits one tag from an existing candidate in RecruitTrackPro.
Format: edit-tag INDEX from/TAG to/TAG
INDEX
. The index refers to the number shown in the currently displayed candidate list. The index must be a positive integer (e.g., 1, 2, 3, ...).from/TAG
must be an exact match in order to be edited, ignoring case sensitivity.Examples:
edit-tag 1 from/Java Developer to/Python Developer
Edits the first candidate's tag from Java Developer
to Python Developer
.find
Find a candidate in RecruitTrackPro whose fields matches the keyword.
Format: find [OPTION] [n/NAME MORE_NAME] [p/PHONE_NUMBER MORE_PHONE_NUMBER] [t/TAG MORE_TAG] [a/ADDRESS MORE_ADDRESS] [e/EMAIL MORE_EMAIL] [c/COMMENT MORE_COMMENT]
hans
will match Hans
Hans Bo
will match Bo Hans
Han
will not match Hans
OPTION: --contain-all
-ca
OPTION changes the default behaviour of the find command from OR
search to AND
search.
OPTION
is not provided, then candidates matching at least one keyword will be returned (i.e. OR
search).OPTION
--contain-all
or -ca
is provided, then candidates matching all keyword will be returned (i.e. AND
search).Examples:
find n/John doe
returns john
and John Doe
find --contain-all John doe
returns John Doe
find n/bernice t/python
returns Bernice Yu, Roy Balakrishnan
find -ca n/bernice t/python
returns Bernice Yu
delete
Deletes the specified candidate from the RecruitTrackPro.
Format: delete INDEX
INDEX
.Examples:
list
followed by delete 2
deletes the 2nd candidate in the RecruitTrackPro.find Betsy
followed by delete 1
deletes the 1st candidate in the results of the find
command.switch-sort
Switches the sorting order of candidates between ascending (A to Z) and descending (Z to A). Sorting is done by case-insensitive lexicographical order. If candidates have identical names, they are then sorted by their phone number.
Example (given A to Z sorting order):
Alex Yeoh
has the same ordering value as alex yeoh
, so the two candidates are sorted by phone number, of which 99765432
is lexicographically after 98765432
. Bob Ross
is lexicographically after Alex Yeoh
and alex yeoh
.
Format: switch-sort
clear
Clears all entries from the RecruitTrackPro.
Format: clear
exit
Exits the program.
Format: exit
RecruitTrackPro data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
RecruitTrackPro data are saved automatically as a JSON file [JAR file location]/data/recruittrackpro.json
. Advanced users are welcome to update data directly by editing that data file.
Caution:
If your changes to the data file makes its format invalid, RecruitTrackPro will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause the RecruitTrackPro to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous RecruitTrackPro home folder.
preferences.json
file created by the application before running the application again.Action | Format, Examples |
---|---|
Add | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]… [c/COMMENT] e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/java t/python |
Delete | delete INDEX e.g., delete 3 |
Edit | edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]… [c/COMMENT] e.g., edit 2 n/James Lee e/jameslee@example.com |
Add Tag(s) | add-tags INDEX t/TAG [t/MORE_TAGS]... e.g., add-tags 1 t/Java Developer t/C# Developer |
Edit Tag | edit-tag INDEX from/OLD_TAG to/NEW_TAG e.g., edit-tag 1 from/Java Developer to/JavaScript Developer |
Remove Tag(s) | remove-tags INDEX t/TAG [t/MORE_TAGS]... e.g., remove-tags 1 t/JavaScript Developer t/C# Developer |
Find | find [OPTION] [n/NAME MORE_NAME] [p/PHONE_NUMBER MORE_PHONE_NUMBER] [t/TAG MORE_TAG] [a/ADDRESS MORE_ADDRESS] [e/EMAIL MORE_EMAIL] [c/COMMENT MORE_COMMENT] e.g., find -ca n/John t/Java |
List | list |
Help | help |
Switch sort | switch-sort |
Clear | clear |
Exit | exit |