User Guide
InternConnect is a desktop app for managing internship applicants, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
This one-stop, convenient, and efficient platform empowers Internship Campus Recruiters to work with their applicants’ data. Say goodbye to opening multiple windows to retrieve the information you need and focus on what matters more: matching the right people for the right job.
Table of Contents
- Quick Start
- Fields
-
Features
- Viewing help
- Adding an applicant
- Listing all applicants
- Viewing the detail of an applicant
- Editing an applicant
- Deleting an applicant
- Locating applicants by field
- Importing applicants from an external JSON file
- Exporting displayed list
- Checkout a new or existing list
- Clearing all entries
- Exiting the program
- Saving the data
- Editing the data file
- Command Summary
1. Quick start
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
internconnect_v1.4.jar
from here. -
Copy the file to the folder you want to use as the home folder for your InternConnect.
-
Double-click the file to start the app. The 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 open the help window. Some example commands you can try:-
add
n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 c/3.50/4.00 g/male u/Nanyang Polytechnic gd/05-2024 m/Computer Science ji/173296 jt/Software Engineer Intern t/rejected t/KIV
: Adds an applicant namedJohn Doe
to InternConnect. -
view
1
: Views the 1st applicant shown in the current list. -
delete
3
: Deletes the 3rd applicant shown in the current list.
-
-
Refer to Features for details of each command.
2. Fields
Notes about the field format:
- Words in
UPPER_CASE
are the parameter details to be supplied by the user. e.g., inCURRENT_CAP
,CURRENT_CAP
is a parameter which can be used as3.5
. -
None of the fields inserted into the command should be blank, except when removing
Tag
through theedit
command -
Identity fields and Data fields are mandatory for
add
command -
Tag fields are optional
- Length of fields are in characters, after removing leading and trailing whitespaces, and replacing multiple whitespaces in between words to 1 whitespace
2.1 Identity Fields
Field | Parameter | Length Limit | Constraints |
---|---|---|---|
e |
50 | Can only be of the format LOCAL_PART@DOMAIN
|
|
Job ID | ji |
10 | Can only contain upper case alphanumeric characters and spaces |
-
LOCAL_PART
can only contain alphanumeric characters and any of+
_
.
-
, but must not start or end with these special characters -
DOMAIN
refers to the email domain that can be made of numerousDOMAIN_LABEL
- Each
DOMAIN_LABEL
can be separated by.
-
DOMAIN_LABEL
can only contain alphanumeric characters and hyphens-
-
DOMAIN_LABEL
must start and end with alphanumeric characters - The last
DOMAIN_LABEL
should be at least 2 characters long
- Each
- For example, in
john_doe@workday-nus.edu.sg
,john_doe
is theLOCAL_PART
andworkday-nus.edu.sg
is theDOMAIN
which containsworkday-nus
,edu
, andsg
asDOMAIN_LABEL
separated by.
2.2 Data Fields
Field | Parameter | Length Limit | Constraints |
---|---|---|---|
Name | n |
50 | Can only contain alphanumeric characters and spaces |
Phone | p |
20 | Can only contain numbers, at least 3 digits long |
Address | a |
100 | Can take any values, but not blank |
CAP | c |
None | Can only consist of 2 positive numeric values in the form of CURRENT_CAP/MAX_CAP
|
Gender | g |
None | Can only be male or female , will be converted to lower-case |
University | u |
100 | Can only contain alphanumeric characters and spaces |
Graduation Date | gd |
None | Can only be a valid month in the form of MM-yyyy , starting from the year 0000 |
Major | m |
50 | Can only contain alphanumeric characters and spaces |
Job Title | jt |
100 | Can only contain alphanumeric characters, SPECIAL_PUNCTUATIONS and spaces |
-
CURRENT_CAP
value must be smaller than or equal toMAX_CAP
-
MAX_CAP
andCURRENT_CAP
must be a positive value (more than0.0
) -
MAX_CAP
andCURRENT_CAP
values should not exceed100.0
-
MAX_CAP
andCURRENT_CAP
will be rounded to 2 decimal places, e.g.3.99999
will be rounded to4.00
-
SPECIAL_PUNCTUATIONS
include-
#
,
:
&
(
)
"
'
/
[
]
2.3 Tag Fields
Field | Parameter | Length Limit | Constraints |
---|---|---|---|
Tag | t |
30 | Can only contain alphabet characters and spaces |
3. Features
Notes about the command format:
-
An address book cannot have multiple applicants with the exact same identity fields (
EMAIL
andJOB_ID
) e.g.,n/John e/j@example.com ji/J12332
andn/Jason e/j@example.com ji/J12332
are considered the same applicant. -
Words in
UPPER_CASE
are the parameter details to be supplied by the user. e.g., inadd n/NAME
,NAME
is a parameter which can be used asadd n/Bobby Doe
. -
Items with
...
after them can be used multiple times including zero times. e.g.[t/TAG]...
can be used as nothing (i.e. 0 times),t/KIV
,t/KIV t/offered
etc. -
Curly brackets represent a set of at least 1 parameter, and each of them is mandatory. e.g.,
{mandatory_field_parameter/FIELD_DETAIL}
, all fields that belong to mandatory fields must be listed. -
Items in square brackets are optional. e.g.,
n/NAME [t/TAG]
can be used asn/Bobby t/KIV
or asn/Bobby
-
Parameters can be in any order, and are separated by a space. e.g., if the command specifies
n/NAME p/PHONE e/EMAIL
,n/NAME e/EMAIL p/PHONE
is also acceptable. -
If a parameter is expected only once in the command, but you specified it multiple times, only the last occurrence of the parameter will be taken. e.g. if you specify
p/12341234 p/56785678
, onlyp/56785678
will be taken. -
Extraneous parameters for commands that do not take in parameters (such as
help
,list
,exit
,export
andclear
) will be ignored. e.g., if the command specifieshelp 123
, it will be interpreted ashelp
. -
All leading and trailing whitespaces will be trimmed, while multiple whitespaces in between words will be replaced by a single whitespace.
-
All find command keywords and duplicate checks for applicants are case-insensitive. e.g.,
JACOB@example.com
will be considered equal tojacob@EXAMPLE.COM
.
3.1 Viewing help: help
Shows a message explaining how to access the help page.
Format: help
3.2 Adding an applicant: add
Adds an applicant to InternConnect.
Format: add {mandatory_field_parameter/MANDATORY_FIELD_DETAIL} [t/TAG]...
- For
mandatory_field_parameter
arguments, please refer to theparameter
of each fields in the Identity Fields and Data Fields section above. - There are 11
mandatory_field_parameter
in total, and you need to specify all of them.
Examples:
add n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 c/3.50/4.00 g/male u/Nanyang Polytechnic gd/05-2024 m/Computer Science ji/173296 jt/Software Engineer Intern t/rejected t/KIV
3.3 Listing all applicants: list
Shows a list of all applicants in InternConnect.
Format: list
3.4 Viewing the detail of an applicant: view
Shows a detailed view of a selected applicant listed in InternConnect.
Format: view INDEX
- Views the applicant at the specified
INDEX
. - The index refers to the index number shown in the displayed applicants list.
- The index must be a positive integer 1, 2, 3, … and not exceed the total records listed.
3.5 Editing an applicant: edit
Edits an existing applicant in InternConnect.
Format: edit INDEX parameter/NEW_PARAMETER_DETAIL [parameter/NEW_PARAMETER_DETAIL]...
- For
parameter
arguments, please refer to theparameter
of each field in the Fields section above. - Edits the applicant at the specified
INDEX
. - The index refers to the index number shown in the displayed applicants list.
- The index must be a positive integer 1, 2, 3, … and not exceed the total records listed.
- At least one of the parameter fields must be provided.
- Existing values will be updated to the input values.
- When modifying tags, the existing tags of the applicant will be removed i.e. adding of tags is not cumulative.
- You can remove all the applicant’s tags by typing
t/
without specifying any tags after it.
Examples:
-
edit 1 p/91234567 e/bob@example.com
Edits the phone number and email address of the 1st applicant to be91234567
andbob@example.com
respectively. -
edit 2 n/Betty
Edits the name of the 2nd applicant to beBetty
.
3.6 Deleting an applicant: delete
Deletes the specified applicant from InternConnect.
Format: delete INDEX
- Deletes the applicant at the specified
INDEX
. - The index refers to the index number shown in the displayed applicants list.
- The index must be a positive integer 1, 2, 3, … and not exceed the total records listed.
Examples:
-
list
followed bydelete 2
deletes the 2nd applicant in the address book. -
find n/Betsy
followed bydelete 1
deletes the 1st applicant in the results of thefind
command.
3.7 Locating applicants by field: find
Finds applicants who have a field containing any of the given keywords among all specified fields.
Format: find parameter/KEYWORD [parameter/KEYWORD]...
- For
parameter
arguments, please refer to theparameter
of each fields in the Fields section above. - At least one of the parameter fields must be provided.
- If a field parameter is given more than once, the command will search only for the latest specifier. E.g.,
n/Bobby n/cortez
will only search and return names withcortez
in them. - The search is case-insensitive. E.g.,
bobby
will matchBobby
. - Applicants matching at least one keyword will be returned (i.e., OR search). E.g.,
n/Bobby Cortez
will return applicants with the nameBobby Lacruz
,Alexander Cortez
- The order of the keywords does not matter. E.g.,
Bobby cortez
will matchCortez bobby
. - Multiple field search: Across different fields, an AND search is done, while an OR search is still done within each field for its keywords. E.g.,
n/Bobby Cortez g/male
will return male applicants with names matchingBobby
orCortez
.
Search Types:
- Matching word: Keywords will only match if there is a full matching word. E.g.,
Bobby
will not matchBobbys
. - Substring: Keywords will match as long as a substring match exists. E.g.,
@gmail.com
will matchjason@gmail.com
andCS2103@gmail.com
- Numeric: Keywords will match by its numeric value, rounded to 2 decimal places. E.g., Both
3
and3.00000001
will match3.00
Field | Search Type |
---|---|
Name | Matching word |
Substring | |
Phone | Substring |
Address | Matching word |
CAP | Numeric of CURRENT_CAP
|
Gender | Matching word |
University | Matching word |
Graduation Date | Matching word |
Major | Matching word |
Job ID | Substring |
Job Title | Matching word |
Tag | Matching word |
Examples:
-
find n/Bobby
Returns applicants with names matchingbobby
andBobby Cortez
-
find g/Female c/3.5 2
returns female applicants with a CAP value of3.5
or2.0
-
find g/Male t/offered KIV
returns male applicants who have anoffered
orKIV
tag attached to them -
find g/Male e/gmail
returns male applicants who have agmail
substring in their email address
3.8 Importing applicants from an external JSON file: import
Imports applicants from an external JSON file.
Format: import FILE_PATH
- The file has to exist in the specified file path.
- More than 1 applicants can be listed in the file, as long as they have all the mandatory fields, satisfy the value constraints, and do not cause duplicates in the InternConnect.
- The file must be in JSON format.
- For example of valid input file, refer to this template file.
Examples:
-
import nus_students.json
Imports applicants listed in thenus_students.json
file
3.9 Exporting displayed list: export
Exports the displayed list from InternConnect.
Format: export
- Exported JSON file will be stored in
data/export/
folder - Current date time will be used as the JSON file name
Examples:
-
find u/NUS
followed byexport
exports the displayed list from thefind
command to a JSON file.
3.10 Checkout a new or existing list: checkout
Switches between different lists in InternConnect stored in data/
folder.
Format: checkout FILE_NAME
-
FILE_NAME
should not include any extension, as it would always be a JSON file. - The command will attempt to load the specified
FILE_NAME.json
file in thedata/
folder. - If the file contains invalid data or have an invalid format, the contents of the file will be erased and an empty addressbook will be loaded.
- If the file doesn’t exist, a new file will be created, populated with sample data.
- If the file contains valid data, the file will be loaded.
Examples:
-
checkout 27-oct-2022
attempt to load data fromdata/27-oct-2022.json
.
3.11 Clearing all entries: clear
Clears all entries from the address book.
Format: clear
3.12 Exiting the program: exit
Exits the program.
Format: exit
3.13 Saving the data
InternConnect data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
3.14 Editing the data file
- The first InternConnect data are saved as a JSON file
[JAR file location]/data/addressbook.json
. Subsequentcheckout
commands may change the active filename. - Advanced users are welcome to update data directly by editing that data file.
4. Command summary
Action | Format | Examples |
---|---|---|
Help | help |
help |
Add | add {mandatory_field_parameter/MANDATORY_FIELD_DETAIL} [t/TAG]... |
add n/John Doe p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 c/3.50/4.00 g/male u/Nanyang Polytechnic gd/05-2024 m/Computer Science ji/173296 jt/Software Engineer Intern t/rejected t/KIV |
List | list |
list |
View | view INDEX |
view 2 |
Edit | edit INDEX parameter/NEW_PARAMETER_DETAIL [parameter/NEW_PARAMETER_DETAIL]... |
edit 1 p/91234567 e/bob@example.com |
Delete | delete INDEX |
delete 3 |
Find | find parameter/KEYWORD [parameter/KEYWORD]... |
find g/Male t/offered KIV |
Import | import FILE_PATH |
import nus_students.json |
Export | export |
export |
Checkout | checkout FILE_NAME |
checkout 27-oct-2022 |
Clear | clear |
clear |
Exit | exit |
exit |