By: Team JACKHA (CS2103JAN2018-W11-B3)
Since: Jun 2016
Licence: MIT
- 1. Introduction
- 2. About
- 3. Quick Start
- 4. Command Line
- 5. Features
- 6. FAQ
- 7. Command Summary
- Appendix A: Glossary
Infinity Book is a desktop application that provides Tech recruiters end-to-end support, from searching for candidates,to adding job postings and saving their resumes and interviews.
More importantly, IB is optimized for those who prefer to work with a desktop Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, IB can get your candidates management tasks done faster than traditional GUI apps.
Jump to the Section 3, “Quick Start” to get started. Enjoy!
This User Guide introduces a user to Infinity Book, provides set up instructions and details the features of the product. This document does not assume any prior technical knowledge, and the glossary explains any technical terms. Please check the FAQ section for frequent user issues.
To quickly set up Infinity Book and try out the features, jump to Section 3, “Quick Start”.
ℹ️
|
For information about implementation and architecture, please refer to the Developer Guide. |
If you are a first time user, this section will help you get started with Infinity Book in 5 easy steps:
-
Ensure you have Java version
1.8.0_60
or later installed in your Computer. If you do not have Java installed, get it here.ℹ️Having any Java 8 version is not enough.
This app will not work with earlier versions of Java 8.
Refer to Section 6, “FAQ” for instructions to check Java version. -
Download the latest
infinitybook.jar
here. -
Copy the file to the folder you want to use as the home folder for your Infinity Book.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
Set up is now complete. You have launched Infinity Book. You should see the interface as shown in Figure 1.
Type your command in the command box and press Enter to execute it. Some examples are given below.
Typing help
and pressing Enter will open the help window.
Other basic example commands are shown here:
-
list
: lists all contacts -
add
n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
: adds a contact namedJohn Doe
to the Infinity Book. -
delete
3
: deletes the 3rd contact shown in the current list -
exit
: exits the app
You can view the entire command list here.
ℹ️
|
The User Interface might appear mildly different for different versions of the product. |
Refer to Section 5, “Features” for details of each command and for more commands.
Infinity Book uses a command line interface that follows the command format given below. Auto-complete and auto-correct are optimised to assist in CLI usage as detailed in this section.
-
Command starts with a
COMMAND WORD
to specify the command you want to perform. -
Words prefixed with a dash (optional) are
COMMAND OPTION
e.g. inedit -add-tag t/TAG
,-add-tag
is a command option. -
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 [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
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.
To enhance your experience with the Command Line Interface(CLI), Infinity Book comes with built in auto-correct and auto-complete. This section explains how you can use these features to speed up your CLI experience.
Auto completes command words being typed into Infinity Book.
To auto-complete a command word:
-
Type in atleast the first character of your command word.
-
Press TAB until your desired command word appears in the command box.
ℹ️
|
Entered text must match (case sensitive) the start of the desired command. If no matches are available, no change is made to the input text. |
Example:
-
li
+ TAB : Completes command word tolist
. -
LI
+ TAB : Reports no completions found.
💡
|
Use TAB repeatedly to loop through the list as many times as you need. |
Auto correct spell checks command words being typed into Infinity Book.
To auto-correct a command word:
ℹ️
|
Entered text must be within one edit-distance of the desired command, by removal, addition or swapping of adjacent characters If no corrections are available, no change is made to the input text. |
-
Type in a possibly incorrect version of the command word.
-
Press SPACE and watch the command word auto-corrected immediately.
💡
|
If a copy-pasted command may contain a spelling error in the command word, press SPACE to correct the command word without affecting the arguments entered. |
Example:
-
lsit
+ SPACE : Corrects command word tolist
. -
lit
+ SPACE : Corrects command word tolist
. -
liist
+ SPACE : Corrects command word tolist
. -
lllist
+ SPACE : Does not make any correction.
|
While copy pasting commands with spelling errors, the SPACE key will not be available for use to insert spaces in the command while editing. |
-
Description: Adds a person to the Infinity Book
-
Format:
add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS l/LINK [t/TAG]…
-
Examples:
-
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 l/https://nus-cs2103-ay1718s2.github.io/website/
-
add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 l/https://nus-cs2103-ay1718s2.github.io/website/ t/criminal
-
ℹ️
|
A person can have any number of tags (including 0) |
-
Description: Edits an existing person’s record in Infinity Book.
-
Format:
edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/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 t/
Edits the name of the 2nd person to beBetsy Crower
and clears all existing tags.
-
-
Edits the person at the specified
INDEX
. The index refers to the index number shown in the last person listing. 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.
-
When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.
-
You can remove all the person’s tags by typing
t/
without specifying any tags after it.
Infinity Book helps you process candidate’s information faster.
Summarize each candidate in a few keywords using the edit -add-tag
command to save time for your future reference.
Format: edit -add-tag INDEX [t/TAG]…
ℹ️
|
|
|
|
Examples:
* edit -add-tag 1 t/Year2 t/SpeakVietnamese
Adds tag Year2
and SpeakVietnamese
to the first candidate.
-
edit -add-tag 1 t/Year2
Adds a new tagYear2
to the first candidate, but it is not successful since this candidate already has tagYear2
.
Some tags are no longer seem to be relevant to the candidate? Remove them using the edit -delete-tag
command.
Format: edit -delete-tag INDEX [t/TAG]…
ℹ️
|
|
Examples:
-
edit -delete-tag 1 t/computing
Deletes tagcomputing
from the first candidate.
-
edit -delete-tag 1 t/computing
Removes tagcomputing
from the first candidate, but it is not successful since this candidate does not have tagcomputing
.
-
Description: Adds or edits a remark to the person identified by the INDEX
-
Format:
remark INDEX r/[REMARK]
-
Alias:
rm INDEX r/[REMARK]
-
Examples:
-
remark 1 r/Likes to go swimming
Edits the remark for the first person to Likes to drink coffee. -
remark 2 r/
Removes the remark for the second person.
-
ℹ️
|
|
-
Description: Deletes the specified person’s record from the Infinity Book.
-
Format:
delete INDEX
-
Examples:
-
list
delete 2
Deletes the 2nd person in the Infinity Book. -
find Betsy
delete 1
Deletes the 1st person in the results of thefind
command.
-
-
Deletes the person at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer 1, 2, 3, …
-
Description: Shows a list of all candidates in the Infinity Book.
-
Format:
list
Finds candidates whose names, phone numbers, emails, or tags contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
hans
will matchHans
. -
The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
. -
Only candidate’s name, phone number, email, and tags are searched.
-
Only full words will be matched e.g.
Han
will not matchHans
. -
Candidates matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Examples:
- find Alex 93210283
Returns Alex Yeoh
, Charlotte Oliveiro
, and Alex Smith
whose names and phone numbers match with the given keywords.
Figure. Person list after finding with keywords Alex
and 93210283
.
-
Description: viewing the person records and linking page locating by emailID
-
Format:
view EmailID
-
Examples:
view abcd@gmail.com
-
Returns the person whose email is
john@gmail.com
-
Displays all the person’s information and resume in the browser panel.
-
The email needs to be correct format.
-
Only one person returned since email is unique.
ℹ️
|
|
❗
|
If there are two persons with same email, the viewcommand will render URL of the first person |
❗
|
When a person has no linked page, it will display black board in the browser panel. |
-
Description: Selects the person identified by the index number used in the last person listing.
-
Format:
select INDEX
-
Examples:
-
list
select 2
Selects the 2nd person in the Infinity Book. -
find Betsy
select 1
Selects the 1st person in the results of thefind
command.
-
-
Selects the person and loads the Google search page the person at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer
1, 2, 3, …
Infinity Book is tailored to optimize recruiters' speed. Aligning with this vision, Report feature offers you an easy way to get statistics of the group of candidates tagged with a specific tag (which we call Population Tag) in few keystrokes.
Each report is identified with a Population Tag:
-
Represented with the prefix
pop/
followed by the tag name of the Population Tag. Example:pop/SEIntern
. -
The name of Population Tag must be an alphanumeric string.
In the report, you will find statistics of the group of all candidates tagged with Population Tag:
-
A bar chart showing all other tags owned by this group and number of owners for each tag.
-
A pie chart illustrating the numerical proportion of each tag.
-
A history panel listing statistics of this group at earlier points of time.
An example usage:
You are recruiting Software Engineering interns, and you want to keep track of the number of candidates in each stage:
Screening, Interviewing, Offered, or Rejected. Given the a significant pool of applicants, this task is tedious, and
our Report feature is a solution.
Using our Report with Population Tag SEIntern
,
-
To ensure your team keeps up with deadlines, you can monitor the whole recruiting pipeline using Report bar chart.
Explanation: there are 11 candidates tagged with SEIntern
in which 5 of them are tagged with Screening
, 3 of them
are tagged with Interviewing
, 1 of them is tagged with Rejected
, and 2 of them are tagged with Offered
.
-
To see the progress of your interns recruitment, you can view percentages of candidates in each stage using Report pie chart.
Explanation: there are 11 tags that candidates tagged with SEIntern
has in total, and 45% of them are Screening
,
27% are Interviewing
, 18% are Offered
, and 9% are Rejected
.
-
To analyze your team’s productivity, you can track the speed at which tasks are done using the history list.
Example in the firgure: At 14:10:24 04/06/2018, there are 9 candidates tagged with Screening
in Infinity Book,
then at 16:36:55 04/12/2018, there are only 5 Screening
candidates left.
ℹ️
|
Date format is in "hh/mm/ss mm/dd/yyyy"". |
Want to have bird’s view statistics of a certain group of candidates? View a report using viewreport
or vr
command.
Format: viewreport pop/POPULATION_TAG
or vr pop/POPULATION_TAG
Example:
viewreport pop/SEIntern
Displays statistics for candidates tagged with SEIntern
.
ℹ️
|
When you execute a Report command, Infinity Book will show you a bar chart, a pie chart, and a history list in the right-most column. |
|
|
Wish to save the current statistics for future reference? Saving the report using savereport
or sr
command.
Format: savereport pop/REPORT_NAME
or sr pop/REPORT_NAME
Example:
savereport pop/SEIntern
Saves the current statistics for candidates tagged with SEIntern
at this current time.
Infinity Book will add a new entry to the history list in the report.
SEIntern
. In the right-most column, the history list includes all statistics you have saved.
ℹ️
|
|
|
If you provide multiple POPULATION_TAG , Infinity Book will take the last one. For example, when you execute viewreport pop/SEIntern pop/Computing , Infinity Book will save the report for Computing .
|
In line with the vision of offering end to end support, Infinity Book offers recruiters a very efficient way to keep track of job vacancies and match candidates to these positions.
This section details commands for managing job postings.
Want to add a newly available job vacancy to IB and match candidates to this role? Add a job posting using the postjob
command.
Format: postjob j/JOB TITLE l/LOCATION t/[TAGS] s/SKILLS
Examples: postjob j/Backend Engineer l/Singapore t/FreshGrad s/Java
ℹ️
|
Job postings are matched to candidates on the basis of location, skills and tags. To neglect any of these during matching, set the field to 'ALL'. |
Want to change the parameters of a job after creating? IB provides the flexibility to edit an existing job posting through the editjob
command.
Format: editjob [-add-tag/-delete-tag] INDEX [j/JOBTITLE] [l/LOCATION] [s/SKILLS] [t/TAG]
Specifying -add-tag or -delete-tag causes editjob command to specifically add or delete the specified tag for the index specified tag. If unspecified, the tag list is over-written by the newly specified set of tags. This implementation mirrors the edit command.
Examples: editjob 1 j/Backend Engineer l/Singapore
editjob 1 -delete-tag j/Backend Engineer l/Singapore
ℹ️
|
At least one field must be provided for the edit command to function as expected. |
Want to remove a job posting from IB after creating? IB provides a deletejob
command to delete any existing job posting from memory.
Format: deletejob INDEX
Examples: deletejob 1
deletejob
deletes the job posting at the specified index in the most recent listing from Figure as shown.
ℹ️
|
Index to be used as displayed in the panel. |
To match an existing job posting to potential candidates, use the matchjob
command to filter out candidates for the chosen job.
Job matching is done on the basis of location, skills and tags. To disregard a parameter during matching, set it to 'ALL' using postjob
or editjob
.
Format: matchjob INDEX
Example: matchjob 1
-
Description: Shows a list of all jobs posted in the Infinity Book.
-
Format:
listjobs
Finds jobs whose job titles, locations, or tags contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
backend
will matchBackend
. -
The order of the keywords does not matter. e.g.
Engineer Backend
will matchBackend Engineer
. -
Only job’s title, location and tags are searched.
-
Only full words will be matched e.g.
Eng
will not matchEngineer
. -
Jobs matching at least one keyword will be returned (i.e.
OR
search). e.g.Engineer
will returnBackend Engineer
,Frontend Engineer
Example: findjob Backend Geylang
Returns Backend Engineer
, Frontend Engineer
, and Backend Tester
whose job titles and locations match with the given keywords.
This section describes command available for managing interview in the Infinity Book.
-
Description: Add a Interview to Infinity Book.
-
Format:
addInterview i/Interview Title n/Interviewee l/LOCATION d/DATE
-
Examples:
addInterview i/SE Interview n/John l/One North d/30.1.2018
-
Add the interview with predicate name, location, and date
-
Displays the added interview in list of Interview panel.
-
Description: List all interviews of Infinity Book.
-
Format:
listInterview
-
Example:
listInterview
-
Description: Remove an interview from Infinity Book using the index from latest listing.
-
Format:
deleteInterview INDEX
-
Examples:
deleteInterview 1
-
Deletes the interview at the specified
INDEX
. -
The index refers to the index number shown in the most recent listing.
-
The index must be a positive integer 1, 2, 3, …
-
Description: Connect your Facebook account to InfinityBook
-
Format:
facebooklogin
-
Alias:
fblogin
-
Example:
facebooklogin
ℹ️
|
|
You will be prompted by a Facebook authorization page (displayed in the right-most panel)
You can key in your facebook credentials. InfinityBook is then connected to that facebook account and you can use other features that Infinity Book offers.
ℹ️
|
|
-
Description: Posting a message to your facebook wall
-
Format:
facebookpost [MESSAGE]
[MESSAGE] is the message that users wants to post -
Alias:
fbpost [MESSAGE]
-
Example:
facebookpost Good morning!
ℹ️
|
|
ℹ️
|
|
❗
|
Even when you are logged in and you use the correct syntax, your message might not be posted to Facebook if it is rejected at Facebook’s end. This might be due to errors such as duplicate post, 'not enough permission' or change in Facebook API. However, under normal circumstances, you can expect that the message will be posted. |
-
Description: Change the theme of InfinityBook
-
Format:
theme [THEME_NAME]
[THEME_NAME]
can bemorning
,dark
, orlight
. -
Alias:
t [THEME_NAME]
-
Examples:
-
theme light
Change the user interface to the 'light' theme
-
ℹ️
|
|
-
Description: 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.
-
Description: Restores the Infinity Book to the state before the previous undoable command was executed.
-
Format:
undo
-
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)
-
ℹ️
|
Undoable commands: those commands that modify the Infinity Book’s content ( |
-
Description: 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)
-
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 Infinity Book folder.
Q: How do I check if Infinity Book is compatible with my computer?
A: Infinity Book is compatible with Windows, Mac OS and Ubuntu with Java 1.8.0_60
or later installed. Compatibility with other UNIX distributions is not guaranteed.
To check your Java Version:
-
MAC OS/ OS-X Users:
-
Open Spotlight using Command + Space
-
Search for
Terminal
and open the application -
In the terminal, copy paste the following command without enclosing double quotes to find your Java version:
"/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version"
-
-
Windows users:
-
Open Run using Windows Key + R
-
Type
cmd
and press enter to open Command Prompt -
In Command Prompt, enter the following command without enclosing double quotes to find your Java version:
"java -showversion"
-
-
Ubuntu users:
-
Open Terminal using Ctrl + Alt + T
-
In the terminal copy paste the following command without enclosing double quotes to find your Java vesion:
"java -v"
-
The following table summarises Infinity Book commands with suitable examples:
Command | Command Format | Example |
---|---|---|
Add Person |
|
` add n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 l/link s/CSSt/friends t/owesMoney` |
Add Interview |
|
`addInterview i/SE Interview n/David |
Add Job |
|
|
Clear |
|
|
Delete |
|
|
Delete Interview |
`deleteInterview INDEX |
|
Delete Job |
|
|
Edit |
|
|
Edit Job |
|
|
Add tags to person |
|
|
Add tags to job |
|
|
Delete tags from a person |
|
|
Find |
|
|
Find Interview |
|
|
Find Job |
|
|
Help |
|
|
History |
|
|
List People |
|
|
List Jobs |
|
|
Match Job |
|
|
Redo |
|
|
Select |
|
|
Undo |
|
|
View |
|
|
View Report |
|
|
Save Report |
|
|
Add/ Edit remark |
|
|
Change theme |
|
|
Log in to Facebook |
|
|
Post to Facebook |
|
|
-
The following are some terms referenced in the User Guide:
-
UNIX: Unix is a family of multitasking, multiuser computer operating systems. Common UNIX operating systems include Linux, Fedora and MAC OS.
-
Command Line Interface: A user interface in which the user executes and responds to an application through a specified text input where commands are typed.
-
Graphical User Interface: A user interface in which the user interacts with the application through visual representations through menus, text, images, etc.
-