By: RecruitMe
Since: January 2019
Licence: MIT
- 1. Introduction
- 2. Quick Start
- 3. Features
- 3.1. Viewing help :
help
- 3.2. Adding a person:
add
- 3.3. Listing all persons :
list
- 3.4. Editing a person :
edit
- 3.5. Filtering Recruit Me:
filter
- 3.6. Clearing the filter in Recruit Me:
filter clear
- 3.7. Reversing the filter in Recruit Me:
filter reverse
- 3.8. Employee approval of candidates:
endorse
- 3.9. Locating persons by name:
find
- 3.10. Sorting persons:
sort
- 3.11. Deleting a person :
delete
- 3.12. Selecting a person :
select
- 3.13. Listing entered commands :
history
- 3.14. Undoing previous command :
undo
- 3.15. Redoing the previously undone command :
redo
- 3.16. Clearing all entries :
clear
- 3.17. Exiting the program :
exit
- 3.18. Showing and Updating the
CV
for a Person: - 3.19. Saving the data
- 3.20. Adding Multiple Persons
[coming in v2.0]
- 3.1. Viewing help :
- 4. FAQ
- 5. Command Summary
1. Introduction
Recruit Me is an application for keeping all your company’s applicants in a concise and organized format for easy searching designed to help you find the best candidates.
2. Quick Start
-
Ensure you have Java
9
(revision9.01
or later) installed in your Computer.Only Java 9 is supported.
-
Copy the file to the folder you want to use as the home folder for your Address Book.
-
Download the latest
addressbook.jar
here. -
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Refer to Section 3, “Features” for details of each command.
3. Features
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional e.g
n/NAME [skill/TAG]
can be used asn/John Doe skill/friend position/Systems Analyst
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times e.g.[skill/TAG]…
can be used asskill/Java
,skill/Excel skill/leadership
etc. -
Parameters can be in any order e.g. if the command specifies
n/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable.
3.1. Viewing help : help
Format: help
3.2. Adding a person: add
Adds a candidate to Recruit Me
Format: add n/NAME p/PHONE_NUMBER e/EMAIL d/EDUCATION g/GPA a/ADDRESS deg/DEGREE-LEVEL [skill/SKILL]… [position/POSITION]…
Examples:
-
add n/John Doe p/98765432 e/johnd@example.com d/NUS g/3.4 deg/bachelors a/John street, block 123, #01-01
-
add n/Betsy Crowe skill/statistics e/betsycrowe@example.com d/NTU g/2.4 deg/high school a/Newgate Prison p/1234567 skill/Java position/UIDeveloper
3.3. Listing all persons : list
Shows a list of all candidates in Recruit Me. If there is a filtering available, it lists all the persons that passes all the filtering conditions.
Format: list
3.4. Editing a person : edit
Edits an existing candidate in Recruit Me.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [d/EDUCATION] [g/GPA] [deg/DEGREE-LEVEL] [a/ADDRESS] [skill/TAG]… [position/TAG]…
Examples:
-
edit 1 p/91234567 e/johndoe@example.com
Edits the phone number and email address of the 1st person to be91234567
andjohndoe@example.com
respectively. -
edit 2 n/Betsy Crower skill/
Edits the name of the 2nd person to beBetsy Crower
and clears all existing tags except for endorsements.
3.5. Filtering Recruit Me: filter
-
It filters the current applicant pool regarding the existing entities of every single person (name, phone, email, address, gpa, education (school), degree level, position, endorsement count or skills).
-
Format:
filter or/and [name<NAME>name] [phone<PHONE>phone] [email<EMAIL>email] [gpa<GPA>gpa] [edu<EDUCATION>edu] [deg<DEGREE-LEVEL>deg] [addr<ADDRESS>addr] [skill<SKILL1, SKILL2, … >skill][pos<POSITION1, POSITION2, … >pos] [end<ENDORSEMENT>end]
For every field, using < or > can cause false results. Please do not use them in filtering criterion texts. All the fields are optional but at least one field should be used.
|
Examples:
-
filter or phone<91234567>phone email<mail@ex>email skill<C++, Java>skill end<2>end deg<4>deg
-
Returns the people, whose numbers include
91234567
or whose email includesmail@ex
or who has (contains) at leastC++ or Java
in the skills or has at least2 endorsements
or has at leastMaster’s degree
.
-
-
filter and name<ale>name addr<street>addr gpa<3.1>gpa pos<Manager, Developer>pos deg<bachelors>deg
-
Returns the people, whose name contains
ale
(in any uppercase and lowercase format) and whose address containsstreet
and who is interested inManager and Developer
positions,has a GPA higher than or equal to3.1
and has at leastBachelor’s degree
.
-
3.6. Clearing the filter in Recruit Me: filter clear
It clears all the filters in the applicant pool.
Format: filter clear
3.7. Reversing the filter in Recruit Me: filter reverse
It reverses all the filtering conditions and shows the eliminated ones.
Format: filter reverse
3.8. Employee approval of candidates: endorse
Endorses an existing candidate in RecruitMe.
Format: endorse [clear] INDEX n/YOUR NAME
-
Feature for employees to navigate the recruiting platform and choose candidates that they want hired
Examples:
-
endorse 1 n/Steve Jobs
Adds a blue tag to the candidate at the1
index with the textSteve Jobs
-
endorse clear 1 n/Steve Jobs
Removes 'Steve Jobs' blue tag from the candidate at the1
index
3.9. Locating persons by name: find
Finds persons whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
Examples:
-
find John
Returnsjohn
andJohn Doe
-
find Betsy Tim John
Returns any person having namesBetsy
,Tim
, orJohn
3.10. Sorting persons: sort
Sorts persons by method described by the given keywords.
Format: sort [reverse] KEYWORD
Accepted KEYWORDs:
name
; surname
; education
; gpa
; degree
; skills
; positions
; endorsements
; skill number
;
position number
; endorsement number
Examples:
-
sort education
Returns the persons, with new index numbers, in alphabetical order of their education. -
sort reverse skills
Returns the persons, with new index numbers, in reverse alphabetical order of their first skill. Their first
skill is that which appears first when the person’s skills have been ordered alphabetically.
Methodology:
CLI Command | Sort Comparison | Sort Effect | Example |
---|---|---|---|
|
Christian name first, then the surname |
Alphabetical |
|
|
Surname |
Alphabetical |
|
|
Education name |
Alphabetical, case-insensitive |
|
|
GPA |
Decreasing numeric value |
|
|
Degree name |
Highest to lowest: PhD, Masters, Bachelors, Associates, High School |
|
|
Arranges each person’s skills alphabetically and then arranges the people based on their skills |
Alphabetical, case-insensitive |
|
|
Arranges each person’s positions alphabetically and then arranges the people based on their positions |
Alphabetical, case-insensitive |
|
|
Arranges each person’s endorsements alphabetically and then arranges the people based on their endorsements |
Alphabetical, case-insensitive |
|
|
Number of skills |
Decreasing numeric value |
|
|
Number of positions |
Decreasing numeric value |
|
|
Number of endorsements |
Decreasing numeric value |
|
|
Reverses the ordering caused by the KEYWORD |
- |
|
Intelligent Sorting:
It is possible for persons to share the same information (e.g. both have the same GPA). For this situation a subsequent sorting method to sort these persons is chosen based on what the user, wanting a certain initial sort method, is likely to be interested in.
Since persons in the address book cannot have the same full name, this shall always differentiate persons and so is used as the final sorting method.
Initial Sort Method |
Subsequent Sort Method (for persons with same value after first sort method) |
Secondary Subsequent Sort Method (for persons with same value after first and subsequent sort method) |
Name |
- |
- |
Surname |
Name |
- |
Skills, Positions, Endorsements |
Name |
- |
Skills, Positions, Endorsements Number |
Skills, Positions, Endorsements respectively |
Name |
Gpa |
Name |
- |
Degree |
GPA |
Name |
Education |
GPA |
Name |
3.11. Deleting a person : delete
Deletes the specified person from the address book.
Format: delete INDEX
Examples:
-
list
delete 2
Deletes the 2nd person in the applicant pool. -
find Betsy
delete 1
Deletes the 1st person in the results of thefind
command.
3.12. Selecting a person : select
Selects the person identified by the index number used in the displayed applicant pool.
Format: select INDEX
Examples:
-
list
select 2
Selects the 2nd person in the address book. -
find Betsy
select 1
Selects the 1st person in the results of thefind
command.
3.13. Listing entered commands : history
Lists all the commands that you have entered in reverse chronological order.
Format: history
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box. |
3.14. Undoing previous command : undo
Restores the applicant pool to the state before the previous undoable command was executed.
Format: undo
Undoable commands: those commands that modify the applicant pool’s content ( |
Examples:
-
delete 1
list
undo
(reverses thedelete 1
command) -
select 1
list
undo
Theundo
command fails as there are no undoable commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
3.15. Redoing the previously undone command : redo
Reverses the most recent undo
command.
Format: redo
Examples:
-
delete 1
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command) -
delete 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delete 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete 1
command)
redo
(reapplies thedelete 1
command)
redo
(reapplies theclear
command)
3.16. Clearing all entries : clear
Clears all entries from the applicant pool.
Format: clear
3.17. Exiting the program : exit
Exits the program.
Format: exit
3.18. Showing and Updating the CV
for a Person:
Showing Stage:
-
Just running the
select
command or clicking on the wanted person opens the CV. -
If there is no CV is available for the person, it shows a placeholder page.
Adding a new CV:
-
After running the application first time and selecting someone in the application, the directories
./data/html
and./data/html/cv
should be created. -
To add a new CV to the application, please create an
HTML
file in./data/html
directory.-
The name of the directory should be the name of the person in lowercase with no-space-separated format (e.g. if the candidate name is Alex Yeoh, the file name should be
alexyeoh.html
). -
The content of the HTML is below. to the field in HTML content
[YOUR_JPG_FILE_CV]
place the name that you gave to HTML file. But do not add any extension. -
Prepare the CV you want to add in
JPG
format and name with the text that you wrote to[YOUR_JPG_FILE_CV]
and place this file to directory./data/html/cv
-
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="DarkTheme.css"> </head> <body style="background-color:#383838"> <img style="display:block; margin-left:auto; margin-right:auto; width:40%" src="./cv/[YOUR_JPG_FILE_CV].jpg"> </body> </html>
Updating a CV:
-
Edit Command:
If you change name of a candidate in the application, the name of the HTML file is not automatically updated. Please update the name.-
If you change name of a person that came to the application by default and has a CV, you cannot reach to that person’s CV until you reverse your edit.
-
-
Delete Command:
If you delete one person from the application, the HTML and JPG files are not automatically deleted. Please delete them manually if you want those files to be deleted.
What comes in v2.0?
-
Automatic file handling for editing and deleting commands.
-
For addition, path of a JPG image will be taken and the html file will be constructed and JPG file will be copied to the right directory directly by the application.
-
Currently, adding multiple CVs at one is not available, thet will be possible with v2.0.
3.19. Saving the data
Applicant data is saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
3.20. Adding Multiple Persons [coming in v2.0]
-
Right now, through the application there is no possibility to add multiple persons at once. This feature will come with v2.0.
-
However, there is a way to add multiple persons at once:
-
If you run the application at least once and change some data in it, you will see the directory
./data/addressbook.json
. -
It is the
JSON
file that holds every single person on the application. The format is given below. -
As long as the format is correct, you can add as many people as you want or if you have a ready file with the same format, you can replace it directly as long as you rename the file as
addressbook.json
. -
The changes made in the file will be shown in the application GUI itself, too.
-
{ "persons" : [ { "name" : "Claire Smith", "phone" : "98765432", "education" : "Oxford", "gpa" : "2.7", "degree" : "PHD", "email" : "claireS@gmail.com", "address" : "12 Biscuits Way, Oxford", "tagged" : [ "s:PHP", "s:C#", "s:C++", "e:Elon Musk", "s:Linux", "p:Systems Analyst", "s:Finance" ] }, { "name" : "Bruce Wayne", "phone" : "92875639", "education" : "Stanford", "gpa" : "3.6", "degree" : "Bachelors", "email" : "bruce@wayne.com", "address" : "1 Wayne Manor, New York NY", "tagged" : [ "e:Thomas Wayne", "p:Project Consultant", "s:Cyber Crime", "s:Hardware Testing", "p:Crime Analyst", "s:Finance", "s:Business Analysis" ] } ] }
4. FAQ
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 application folder.
5. Command Summary
-
Add
add n/NAME p/PHONE_NUMBER e/EMAIL d/EDUCATION g/GPA deg/DEGREE-LEVEL a/ADDRESS [skill/TAG]… [position/TAG]…
e.g.add n/James Ho p/22224444 e/jamesho@example.com d/NTU g/3.1 deg/Bachelors a/123, Clementi Rd, 1234665 skill/Java position/Manager
-
Clear :
clear
-
Delete :
delete INDEX
e.g.delete 3
-
Edit :
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [d/EDUCATION] [g/GPA] [deg/DEGREE-LEVEL][a/ADDRESS] [skill/TAG]… [position/TAG]…
e.g.edit 2 n/James Lee e/jameslee@example.com
-
Find :
find KEYWORD [MORE_KEYWORDS]
e.g.find James Jake
-
Filter :
-
Usage 1:
filter and [name<NAME>name] [phone<PHONE>phone] [email<EMAIL>email] [gpa<GPA>gpa] [edu<EDUCATION>edu] [deg<DEGREE-LEVEL>deg] [addr<ADDRESS>addr] [skill<SKILL1, SKILL2, … >skill][pos<POSITION1, POSITION2, … >pos] [end<ENDORSEMENT>end]
e.g.filter and name<ale>name gpa<2.6>gpa skill<C++>skill end<2>end email<a@>email
-
Usage 2:
filter or [name<NAME>name] [phone<PHONE>phone] [email<EMAIL>email] [gpa<GPA>gpa] [edu<EDUCATION>edu] [deg<DEGREE-LEVEL>deg] [addr<ADDRESS>addr] [skill<SKILL1, SKILL2, … >skill][pos<POSITION1, POSITION2, … >pos] [end<ENDORSEMENT>end]
e.g.filter or phone<9>phone edu<NUS>edu pos<Manager, Developer>pos deg<high school>deg addr<street>addr
-
Usage 3:
filter clear
-
Usage 4:
filter reverse
-
-
Sort :
sort [reverse] KEYWORD
Valid KEYWORDs:name
;surname
;education
;gpa
;degree
;skills
;positions
;endorsements
;skill number
;position number
;endorsement number
e.g.sort name
e.g.sort reverse education
-
Endorse :
endorse [clear] INDEX n/NAME
e.g.endorse 1 n/Bill Gates
+ e.g.endorse clear 1 n/Bill Gates
-
List :
list
-
Help :
help
-
Select :
select INDEX
e.g.select 2
-
History :
history
-
Undo :
undo
-
Redo :
redo