User Guide
Are you a CS student struggling to keep track of your internship applications? Do you feel tired of using spreadsheets? We have just the right tool.
Introducing PleaseHireUs (PHU), the internship tracking application made just for you!
Here are its main features:
- View the status of your application and assessment dates at a glance
- Overall statistics of status of all your internship applications in a bar chart
Now you will never miss any application deadlines or internship interviews again.
PleaseHireUs has been optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, PleaseHireUs can get your internship management tasks done faster than traditional GUI apps.
We hope you find PleaseHireUs to be useful in your internship hunt.
Table of Contents
- Table of Contents
- About this User Guide
- Navigating the User Guide
- Quick start
- Navigating the GUI
- Command Format
- Parameters Requirement
-
Features
- Adding an internship:
add
- Listing all internships :
list
- Locating internships by:
find
- View details of an internship:
view
- Editing internship :
edit
- Copy details of internship :
copy
- Deleting internship(s) :
delete
- Clearing all entries :
clear
- Undo previous command :
undo
- Redo previous undone command :
redo
- Viewing help :
help
- Exiting the program :
exit
- Saving the data
- Editing the data file
- Archiving data files
[coming in v2.0]
- Adding an internship:
- Command summary
- Prefix Summary
- FAQ
- Glossary
- Acknowledgements
- Appendix: Installing Java 11
- Appendix: Manually Editing the Save File
About this User Guide
This guides aims to:
- Teach first-time users how to start using PleaseHireUs
- Show and explain to users how to use the available features
- Provide users with a summary of the available features
- Provide advanced users with tips to improve their experience
Navigating the User Guide
Information Box
Info: Provides information that is useful
Tip Box
Tip: Provides advanced users with pointers to enhance their experience
Warning Box
Warning: Important messages to take note to avoid any unintended effects
Highlights
Highlighted text refers to commands, parameters, field values or any user inputs
e.g. commands
PARAMETERS
Keyboard Inputs
Boxed texts refers to keyboard inputs
e.g.
Quick start
-
Ensure you have Java 11 or above installed in your Computer. You can refer to this.
-
Download the latest
PleaseHireUs.jar
here. -
Copy the file to the folder you want to use as the home folder for your application.
-
Double-click the file to start the app. The following help window will appear the first time you open the application.
-
Close the help window, you will see a GUI similar to the one below. Note how the app contains some sample data.
-
Type a command in the command box and press to execute it.
e.g. typinghelp
and pressing will open the help window. -
Below are some example commands you can try. You may refer to this for all the available commands.
-
list
: Lists all internships. -
add n/Grab p/software engineer pr/ASSESSMENT web/https://www.grab.com/sg/about
: Adds a new internship to the internship tracker. -
delete 3
: Deletes the 3rd internship shown in the current list. -
clear
: Deletes all internships. -
exit
: Exits the app.
Navigating the GUI
COMMAND BOX
Enter your command here.
Tip:
You can use or to navigate through your command history
RESULT DISPLAY
Returns a feedback message after a command is executed.
MAIN PANEL
Displays the list of internships.
VIEW PANEL
Displays the internship being viewed in greater detail.
STATISTIC PANEL
The Bar Chart (located in the bottom right corner of the application) displays the number of applications on every stage of the possible application process which are currently listed.
For example, after carrying out the command, find c/n Shopee
,the bar chart will reflect
the data for all internships whose company name contains the word Shopee
.
Tip:
- Use tags to help you differentiate your internships eg.
Winter
andSummer
- Do
find c/t Summer
for an overview of your summer internship application
REMINDER FOOTER
Displays the number of interviews, assessments or pending offers due in the next 7 days.
Command Format
Notes about the command format:
-
Words in
UPPER_CASE
are the parameters to be supplied by the user.
e.g. Inadd n/COMPANY_NAME
, you may inputadd n/Grab
or any other company name. -
Items in square brackets are optional.
e.g Inn/COMPANY_NAME [t/TAG]
bothn/Grab t/highSalary
orn/Grab
are accepted. -
Items with
…
after them can be used multiple times including zero times.
e.g.[t/TAG]…
can be used ast/highSalary
,t/highSalary t/Java
etc. -
Parameters can be in any order.
e.g. if the command specifiesn/COMPANY_NAME pr/APPLICATION_PROCESS
,pr/APPLICATION_PROCESS n/COMPANY_NAME
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 specifyn/Grab n/Gojek
, onlyn/Gojek
will be taken. -
Additional inputs for commands that do not require them (such as
help
,exit
andclear
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
.
Parameters Requirement
Here are the parameter requirements of commonly used parameters by commands in the Features section below.
Parameter | Description | Requirement / Remarks |
---|---|---|
COMPANY_NAME |
Name of company you are applying to | Alphanumeric and may contain spaces |
POSITION |
Position of the internship you are applying for | Alphanumeric and may contain spaces |
APPLICATION_PROCESS |
Current stage of the internship application | Can only be: APPLIED , ASSESSMENT , INTERVIEW , OFFER , ACCEPTED , REJECTED
|
DATE |
Date of the upcoming application task | In dd-mm-yyyy format |
PHONE |
Contact number of HR | In [+COUNTRY_CODE] PHONE_NUMBER format - COUNTRY_CODE is optional - COUNTRY_CODE must be 1 to 3 digits long - PHONE_NUMBER must be 3 to 15 digits long - Space in between COUNTRY_CODE and PHONE_NUMBER if applicable |
EMAIL |
Email address of HR | Contains a @ symbol Must not exceed 254 characters Example: example@example.com
|
WEBSITE |
Website of the company | Start with http:// or https:// Must not exceed 2048 characters |
REMARK |
Additional remarks | Can be left empty |
TAG |
Additional tags to identify applications |
Alphanumeric and must not contain spaces Maximum length of 20 characters |
CATEGORY |
Refers to the parameters above | Used in list find command Refer to respective commands for individual requirements |
INDEX |
The index number of the internship shown in current internship list under the Main Panel | Used in delete edit view copy command Must be a positive integer eg.(1,2,3,…) |
Features
This section shows all features and commands which are supported by PleaseHireUs.
Info
Internships are uniquely identified by COMPANY_NAME
and POSITION
(case-insensitive). You cannot have two entries with the same COMPANY_NAME
and POSITION
.
Adding an internship: add
Applied for an internship role at your dream company? Track your internship application by adding it into the list.
Format: add n/COMPANY_NAME p/POSITION [pr/APPLICATION_PROCESS] [d/DATE] [ph/PHONE] [e/EMAIL] [web/WEBSITE] [r/REMARK] [t/TAG]…
-
APPLICATION_PROCESS
will be set toAPPLIED
by default. -
DATE
will be set to today’s date by default. -
PHONE
will be set to “NA” by default. -
EMAIL
will be set to “NA” by default. -
WEBSITE
will be set to “NA” by default. -
REMARK
will be empty by default. -
TAG
will be empty by default.
Info:
APPLICATION_PROCESS
is case-insensitive
Applied
, APPLIED
, and applied
are all acceptable inputs
Tip: An internship application can have any number of tags (including 0)
Examples:
add n/Google ph/98765432 e/johnd@example.com r/Y2 summer break p/Backend Intern pr/APPLIED d/11-12-2022 web/https://careers.google.com/jobs t/high t/java
add n/Grab p/software engineer pr/ASSESSMENT web/https://www.grab.com/sg/about
add n/Gojek p/Mobile Intern
Executing command: add n/Gojek p/Mobile Intern
Listing all internships : list
See all the internships you have applied to.
Format: list [c/CATEGORY [DESCENDING]]
- Internships can be sorted by category in ascending or descending order.
- The
CATEGORY
is optional.- Without stating the category,
list
will display all internships in no particular order - Possible options for
CATEGORY
:COMPANY_NAME
,POSITION
,APPLICATION_PROCESS
,DATE
(case-insensitive)
- Without stating the category,
- The
DESCENDING
parameter is optional.- The
DESCENDING
parameter can only be declared if theCATEGORY
is stated - Possible options for
DESCENDING
:TRUE
orFALSE
(case-insensitive) - If
DESCENDING
is set toTRUE
. List of internships will be displayed in descending order
- The
Examples:
list c/DATE TRUE
list c/position
Info: If the
DESCENDING
parameter is empty or is spelt incorrectly, it will be set to FALSE
Tip:
Category | Short-form |
---|---|
COMPANY_NAME |
n |
POSITION |
p |
APPLICATION_PROCESS |
pr |
DATE |
d |
list c/company_name
is equivalent to list c/n
Executing command: list c/position
Locating internships by: find
Looking for specific internship applications? Find internships whose details in the target category matches the keyword/s you entered.
Format: find [c/CATEGORY] 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 the target category is searched.
- The
CATEGORY
is optional.- Without stating the category, the search will take
COMPANY_NAME
as the target category - Possible options for
CATEGORY
:COMPANY_NAME
,POSITION
,APPLICATION_PROCESS
,DATE
,TAG
(case-insensitive)
- Without stating the category, the search will take
-
KEYWORD
must be provided.- The
KEYWORD
will match any word if theKEYWORD
is contained in that word e.g.Han
will match bothReyhan
andHandy
- Internships whose target category matches at least one keyword will be returned (i.e. OR search). e.g.
c/company_name Hans Bo
can return internships with company name ofHans Gruber
orBo Yang
- To find an internship using the date category, all
KEYWORD
must be a valid date indd-mm-yyyy
format - To find an internship using the application process category, all
KEYWORD
must be a valid application process (case-insensitive) (i.e. Can only be:APPLIED
,ASSESSMENT
,INTERVIEW
,OFFER
,ACCEPTED
,REJECTED
)
- The
Examples:
-
find c/position engineer
returns a list of internships with a position of Algorithm Engineer and Software Engineer -
find sea shop
returns a list of internships with company name of Sea Labs, Shopee, and Shopback
Tip:
Category | Short-form |
---|---|
COMPANY_NAME |
n |
POSITION |
p |
APPLICATION_PROCESS |
pr |
DATE |
d |
TAG |
t |
find c/position engineer
is equivalent to find c/p engineer
Executing command: find sea shop
View details of an internship: view
Need to contact HR? View more details about your internship application.
Format: view INDEX
- Only the index is searched.
Info: If the website is “NA”, the browser will not be opened when clicked
Examples:
-
find sea shop
followed byview 1
displays more details of the 1st internship in list.
Executing command: view 1
Editing internship : edit
Need to update your application status or change your assessment date? Edit the details of your internship application.
Format: edit INDEX [n/COMPANY_NAME] [p/POSITION] [pr/APPLICATION_PROCESS] [d/DATE] [ph/PHONE] [e/EMAIL] [web/WEBSITE] [r/REMARK] [t/TAG]…
- Edit the details of internship at the specified
INDEX
.
Examples:
-
list
followed byedit 2 p/quant researcher d/01-01-2023
will edit the position and assignment date of the 1st internship in the list to quant researcher and 1 January 2023 respectively. -
find sea shop
followed byedit 1 pr/REJECTED
will edit the application process of the 1st internship in the results of the find command toREJECTED
.
Executing command: edit 1 pr/REJECTED
Copy details of internship : copy
Quickly share your application details by copying it into your computer’s clipboard.
Format: copy INDEX
- Only the internship at the specified
INDEX
is copied. - Full details of the internship will be copied into system clipboard.
Deleting internship(s) : delete
Deletes the specified internship(s) from the list.
Format: delete INDEX…
- Deletes the internship at the specified
INDEX
. - Can add multiple
INDEX
to delete multiple internships.
Examples:
-
list
followed bydelete 1 3
deletes the 1st and 3rd internship from the list. -
find sea shop
followed bydelete 1
deletes the 1st internship in the results of thefind
command.
Executing command: delete 1
Clearing all entries : clear
Starting a new internship season? Clear all entries from the internship tracker.
Format: clear
Executing command: clear
Undo previous command : undo
Made a mistake? Undo the most recent command that modified the internship book.
Format: undo
Info:
You can only undo add
,clear
,delete
,edit
,redo
commands
Executing command: undo
Redo previous undone command : redo
Redo the most recent command that was undone.
Format: redo
Viewing help : help
If you need a quick refresher on the available commands, head right to the help page. Link to the user guide is also available.
Format: help
Tip:
- Press to close the Help window
- Press to copy the User Guide url into the clipboard when the Help window is opened
Exiting the program : exit
Exits the program.
Format: exit
Saving the data
PleaseHireUs data is saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data file
PleaseHireUs data is saved as a JSON file [JAR file location]/data/internshipbook.json
. Advanced users are welcome to update the data directly by editing that data file.
For more information on editing the JSON file, click here

Archiving data files [coming in v2.0]
Details coming soon …
Command summary
Action | Undo | Format, Examples |
---|---|---|
Add | ![]() |
add n/COMPANY_NAME p/POSITION [pr/APPLICATION_PROCESS] [d/DATE] [ph/PHONE] [e/EMAIL] [web/WEBSITE] [r/REMARK] [t/TAG]… e.g., add n/Tiktok p/backend engineer
|
List | ![]() |
list [c/CATEGORY [DESCENDING]] e.g, list c/d true , list c/date
|
Find | ![]() |
find [c/CATEGORY] KEYWORDS… e.g., find c/p engineer
|
View | ![]() |
view INDEX e.g., view 1
|
Edit | ![]() |
edit INDEX [n/COMPANY_NAME] [p/POSITION] [pr/APPLICATION_PROCESS] [d/ASSESSMENT_DATE] [ph/PHONE] [e/EMAIL] [r/REMARK] [web/WEBSITE] [t/TAG]… e.g., edit 2 p/Backend Intern pr/INTERVIEW d/01-11-2022
|
Copy | ![]() |
copy INDEX e.g., copy 1
|
Delete | ![]() |
delete INDEX… e.g., delete 1 3
|
Clear | ![]() |
clear |
Undo | ![]() |
undo |
Redo | ![]() |
redo |
Help | ![]() |
help |
Exit | ![]() |
exit |
Info: Valid inputs for
CATEGORY
parameter in list
and find
Command | Valid Categories (case-insensitive) |
---|---|
list |
COMPANY_NAME POSITION APPLICATION_PROCESS DATE
|
find |
COMPANY_NAME POSITION APPLICATION_PROCESS DATE TAG
|
Prefix Summary
Prefix | Symbolize |
---|---|
n/ | Company Name |
p/ | Position |
pr/ | Application Process |
d/ | Date |
web/ | Website |
ph/ | Phone Number |
e/ | |
r/ | Remark |
t/ | Tag |
c/ | Category |
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 PleaseHireUs home folder.
Glossary
Term | Description |
---|---|
Alphanumeric | Characters that are either a number or a letter. |
Clipboard | A clipboard is a temporary storage area in the computer for data that the user wants to copy from one place to another. |
Command | Instruction typed by the user for PHU to execute. |
Command Line Interface (CLI) | CLI allows user to use text as commands to be executed by an application. |
Graphical User Interface (GUI) | GUI allows user to interact with an application through graphics such as icons, menu, etc. |
PHU | PleaseHireUs |
Parameter | A component of a command for the user to input information. For PHU context, this refers to the internship application details. |
Prefix | An abbreviation for the name of the parameter. Prefix should be entered before the actual parameter in a command and always ends with a slash (/). |
Acknowledgements
- This project is adapted from AddressBook 3(AB3)
- Undo and Redo commands are adapted and modified from AddressBook 4(AB4)
- Libraries used: JavaFX, Jackson, JUnit5, TestFx
- The PleaseHireUs icon is obtained from flaticon
Appendix: Installing Java 11
- Check if you have installed the correct version of java by running
java -version
in your terminal. - If Java is not installed in your computer or the Java version is different,
- After installing, you may verify that the correct version of Java is installed by repeating step 1.
Appendix: Manually Editing the Save File
Info:
This section assumes that you are an advanced user and understand some basic computing terminologies
The save file contains a single object with a single field named "internships"
.
Below is an example of a valid save file format:
{
"internships": [
{
"name": "Google",
"phone": "87438807",
"email": "alexyeoh@example.com",
"remark": "Technical Interview (3 Questions - 2 Medium, 1 Hard)",
"position": "Backend Intern",
"applicationProcess": "APPLIED",
"date": "20-10-2022",
"website": "https://careers.google.com/",
"tagged": ["Golang", "Summer"]
},
{
"name": "TikTok",
"phone": "NA",
"email": "NA",
"remark": "",
"position": "Frontend Intern",
"applicationProcess": "OFFER",
"date": "25-10-2022",
"website": "NA",
"tagged": []
}
]
}
The "internships"
field is an array of objects which must contains all the following fields:
-
name
: Represents the company name.
A non-empty string which fulfills theCOMPANY_NAME
parameter constraints. -
phone
: Represents the phone number.
EITHER"NA"
which represents no phone number provided OR a string which fulfills thePHONE
parameter constraints. -
email
: Represents the email.
EITHER"NA"
which represents no email provided OR a string which fulfills theEMAIL
parameter constraints. -
remark
: Represents the remark.
A (possibly empty) string which fulfills theREMARK
parameter constraints. -
position
: Represents the position of the internship.
A non-empty string which fulfills thePOSITION
parameter constraints. -
applicationProcess
: Represents the application process of the corresponding internship.
A string which fulfills theAPPLICATION_PROCESS
parameter constraints. Note that the string is case-insensitive. -
date
: Represents the internship application date
A string which fulfills theDATE
parameter constraints. -
website
: Represents the company’s website
EITHER"NA"
which represents no website provided OR a string which fulfills theWEBSITE
parameter constraints. -
tagged
: Represents a collection of tags for the corresponding internship
An (possibly empty) array of strings with each string being non-empty and fulfilling theTAG
parameter constraints.
Refer to this for the parameter requirements.
Warning: Though some parameters might work with leading / trailing whitespaces,
it is recommended to avoid it completely as it might make the format invalid