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.jarhere. -
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. typinghelpand 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.
WinterandSummer
- Do
find c/t Summerfor 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_CASEare the parameters to be supplied by the user.
e.g. Inadd n/COMPANY_NAME, you may inputadd n/Grabor any other company name. -
Items in square brackets are optional.
e.g Inn/COMPANY_NAME [t/TAG]bothn/Grab t/highSalaryorn/Grabare accepted. -
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/highSalary,t/highSalary t/Javaetc. -
Parameters can be in any order.
e.g. if the command specifiesn/COMPANY_NAME pr/APPLICATION_PROCESS,pr/APPLICATION_PROCESS n/COMPANY_NAMEis 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/Gojekwill be taken. -
Additional inputs for commands that do not require them (such as
help,exitandclear) 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_PROCESSwill be set toAPPLIEDby default. -
DATEwill be set to today’s date by default. -
PHONEwill be set to “NA” by default. -
EMAILwill be set to “NA” by default. -
WEBSITEwill be set to “NA” by default. -
REMARKwill be empty by default. -
TAGwill 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/javaadd n/Grab p/software engineer pr/ASSESSMENT web/https://www.grab.com/sg/aboutadd 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
CATEGORYis optional.- Without stating the category,
listwill display all internships in no particular order - Possible options for
CATEGORY:COMPANY_NAME,POSITION,APPLICATION_PROCESS,DATE(case-insensitive)
- Without stating the category,
- The
DESCENDINGparameter is optional.- The
DESCENDINGparameter can only be declared if theCATEGORYis stated - Possible options for
DESCENDING:TRUEorFALSE(case-insensitive) - If
DESCENDINGis set toTRUE. List of internships will be displayed in descending order
- The
Examples:
list c/DATE TRUElist 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.
hanswill matchHans - The order of the keywords does not matter. e.g.
Hans Bowill matchBo Hans - Only the target category is searched.
- The
CATEGORYis optional.- Without stating the category, the search will take
COMPANY_NAMEas the target category - Possible options for
CATEGORY:COMPANY_NAME,POSITION,APPLICATION_PROCESS,DATE,TAG(case-insensitive)
- Without stating the category, the search will take
-
KEYWORDmust be provided.- The
KEYWORDwill match any word if theKEYWORDis contained in that word e.g.Hanwill match bothReyhanandHandy - Internships whose target category matches at least one keyword will be returned (i.e. OR search). e.g.
c/company_name Hans Bocan return internships with company name ofHans GruberorBo Yang - To find an internship using the date category, all
KEYWORDmust be a valid date indd-mm-yyyyformat - To find an internship using the application process category, all
KEYWORDmust be a valid application process (case-insensitive) (i.e. Can only be:APPLIED,ASSESSMENT,INTERVIEW,OFFER,ACCEPTED,REJECTED)
- The
Examples:
-
find c/position engineerreturns a list of internships with a position of Algorithm Engineer and Software Engineer -
find sea shopreturns 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 shopfollowed byview 1displays 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:
-
listfollowed byedit 2 p/quant researcher d/01-01-2023will edit the position and assignment date of the 1st internship in the list to quant researcher and 1 January 2023 respectively. -
find sea shopfollowed byedit 1 pr/REJECTEDwill 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
INDEXis 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
INDEXto delete multiple internships.
Examples:
-
listfollowed bydelete 1 3deletes the 1st and 3rd internship from the list. -
find sea shopfollowed bydelete 1deletes the 1st internship in the results of thefindcommand.
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 INDEXe.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 -versionin 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_NAMEparameter constraints. -
phone: Represents the phone number.
EITHER"NA"which represents no phone number provided OR a string which fulfills thePHONEparameter constraints. -
email: Represents the email.
EITHER"NA"which represents no email provided OR a string which fulfills theEMAILparameter constraints. -
remark: Represents the remark.
A (possibly empty) string which fulfills theREMARKparameter constraints. -
position: Represents the position of the internship.
A non-empty string which fulfills thePOSITIONparameter constraints. -
applicationProcess: Represents the application process of the corresponding internship.
A string which fulfills theAPPLICATION_PROCESSparameter constraints. Note that the string is case-insensitive. -
date: Represents the internship application date
A string which fulfills theDATEparameter constraints. -
website: Represents the company’s website
EITHER"NA"which represents no website provided OR a string which fulfills theWEBSITEparameter 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 theTAGparameter 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