Table of Contents


Introduction

Are you a university student looking to score a holiday internship? Do you feel overwhelmed by all the application details you have to keep track of? Have you missed any application deadlines because there are just too many to remember? Have you ever wished that there were a comprehensive app that could help you track your entire internship application process? If you answered yes to any of these questions, we have just the application for you!

logo

InternSHIP is a desktop app for university students to manage their internship application deadlines. Here are its main features:

  • Tracking all essential internship application details (e.g. submission deadlines, interview date and time, completion status, etc…)
  • Viewing specific applications

Now you will never miss any internship application deadlines or interviews again!

InternSHIP 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, InternSHIP can get your internship management tasks done faster than traditional GUI apps.

We hope you find InternSHIP to be very useful in your internship hunt!


Information about this User Guide

This section aims to provide some information on the purpose as well as target audience of our User Guide.

Purpose

This guide aims to:

  • Teach first-time users how to start using InternSHIP.
  • Show users how to use each command in detail should they encounter any difficulty using any of the commands in InternSHIP.
  • Answer some commonly asked questions in the FAQ section.
  • Provide experienced users with tips on how to further improve their experience using InternSHIP.
  • Provide existing users with a comprehensive summary of all the commands they can use in InternSHIP and the prefixes used in these commands.
  • Show any interested party (e.g. other developers) the references used in the creation of InternSHIP.

Target Audience

As the target audience of InternSHIP is university students, this User Guide is mainly targeted towards the same demographic. This guide is therefore aimed at users who:

  • Are familiar with navigating around a webpage using hyperlinks.
  • Are comfortable downloading and installing software on their computer.
  • Are able to type fast and are comfortable using a CLI.
    This User Guide does not assume that the reader has a technical background. Therefore, university students of all majors should be able to use this guide. The definitions for certain technical terms can be found in the glossary.

How to use this User Guide

This section aims to explain how to properly utilise our User Guide.

How to navigate this document

This document is separated into different sections:

  1. Quick Start: Download, install and start using InternSHIP as a first-time user.
  2. Features: Find detailed information about how to use each command in InternSHIP.
  3. FAQ: Find answers to some commonly-asked questions.
  4. Tips: View tips on how to enhance your experience with InternSHIP.
  5. Command Summary: View a summary list of all the commands supported by InternSHIP.
  6. Prefix Summary: View a summary list of all the prefixes for the different fields used in InternSHIP commands.
  7. Glossary: Find the definitions of terms used in this User Guide.
  8. Acknowledgements: Find the references used in the creation of InternSHIP. For a more detailed overview, refer to this Table of Contents at the start of our User Guide.

Special formats

Below are some special formats used throughout this User Guide:

Information boxes

:information_source: Info: Information boxes provide extra information that might be useful!

Tips

:bulb: Tip: Tips are pointers that can help to improve your experience using InternSHIP!

Warnings

:warning: Warning: Warnings are very important messages to take note of to avoid any unintended consequences of a command!!

Highlights

Highlights are used to emphasise special text such as parameters, field values, commands, file names or any user inputs.

Different sections of the application window have been annotated in the image shown below:

Anotated UI

The UI has been designed and optimized to be navigated via the Command Line Interface (CLI) although some buttons are clickable.

Users can enter commands into the command box and press ENTER to execute them. The results will be displayed on the result box, showing appropriate messages. Depending on the command entered, the main panel may be updated accordingly.

:bulb: Tip: To scroll through the list of applications, users can do so by simply scrolling up and down or clicking on an entry and pressing the arrow keys UP and DOWN

Command format

All the commands in the Features section adhere to the following rules:

  • Words in UPPER_CASE are the parameters to be supplied by the user.
    e.g. if the User Guide states add COMPANY_NAME, users can input add Shopee, or any other company name.
:bulb: Tip: Go to our glossary and parameters sections to find out more about parameters!
  • Items in square brackets are optional.
    e.g c/COMPANY_NAME [r/REQUIREMENT] can be used as c/Shopee r/CV or as c/Shopee.

  • Items with …​ after them can be used multiple times including zero times.
    e.g. [r/REQUIREMENT]…​ can be used as r/ (0 time), r/CV (1 time), r/CV r/Resume (2 times) etc.

  • Parameters can be in any order.
    e.g. if the command specifies c/COMPANY_NAME p/INTERNSHIP_POSITION, p/INTERNSHIP_POSITION c/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 specify c/Grab c/Shopee, only c/Shopee will be taken.

  • For parameters that can be specified any number of times(APPLICATION_REQUIREMENTS and INTERVIEW_DATE_AND_TIME), if the same values are specified multiple times, only one instance will be taken.
    e.g. if you specify r/CV r/CV r/CV, only r/CV will be taken.

  • For commands that do not require any parameters (such as list and clear), any parameters input by the user will be ignored.
    e.g. list 123 will be interpreted as just list.

Parameters

Here is a summary of all the parameters used in InternSHIP commands:

Parameter Refers to Required format Application field? Notes
APPLICATION_DEADLINE The deadline for the application submission. It should be a valid date in YYYY-MM-DD format. Yes  
APPLICATION_PRIORITY The user-set priority of the application. It can only take 3 values: high, medium or low. Yes  
APPLICATION_REQUIREMENTS The required deliverables for the application submission. It can take any value. Yes e.g. CV, portfolio…
APPLICATION_OUTCOME The outcome of the application (also called application status). This is the company’s decision on whether the candidate has been accepted or rejected. It can only take 3 values: Pending, Accepted or Rejected. Yes This is up to the company, not the user.
COMPANY_NAME The name of the company the application was made to. It should only contain alphanumeric characters and spaces, and should not be blank. Yes  
COMPLETION_STATUS Whether or not the application has been completed and submitted by the user. It can only take 2 values: completed or uncompleted. Yes Unlike the APPLICATION_OUTCOME, this is up to the user, not the company.
DAYS The number of days from today. It must be a non-negative integer (e.g. 0, 1, 2, …) and cannot be more than the maximum integer value (i.e 2147483647). Otherwise, it will be considered invalid. No  
FIELD Any one of the application fields. It should be in its prefix form, as shown in the prefix summary. No  
INDEX The index number of the application as shown in the currently displayed application list. It must be a positive integer (e.g. 1, 2, 3, …) and cannot be more than the maximum integer value (i.e 2147483647). Otherwise, it will be considered invalid. No  
INTERNSHIP_POSITION The job applied for in the application. It should only contain alphanumeric characters and spaces, and should not be blank. Yes  
INTERVIEW_DATE_AND_TIME The date and time of the interview(s) required for an application. It should be a valid date and time in YYYY-MM-DD HHmm format. The date and time are separated by a space, and the time is represented in a 24-hour system. Yes  

Quick start

  1. Ensure you have Java 11 or above installed in your Computer.

  2. Download the latest InternSHIP.jar from here.

  3. Copy the file to the folder you want to use as the home folder for your InternSHIP app.

  4. Double-click the file to start the app.
    :bulb: Tip: If double-clicking does not work for you, try to open the app via terminal. To do so, open the terminal, key in java -jar InternSHIP.jar and press Enter.
  5. A GUI similar to the one shown below should appear in a few seconds. Note how the app contains some sample data.

    Ui

    :bulb: Tip: Use the clear command to erase all the sample data when you no longer need them.
  6. Type the command in the command box and press Enter to execute it.
    Some example commands you can try:

    • help : Opens up the Help Window.
    • list : Lists all the entries in the internship list.

    • add c/shopee p/software engineer d/2021-12-12: Adds a company shopee with the position software engineer at deadline 2021-12-12 to the application list.

    • delete 3 : Deletes the 3rd entry in the application list.

    • clear : Deletes all the application entries.

    • exit : Exits the app.
  7. Refer to the Features below for details of each command.

Features

This section shows all of InternSHIP’s supported commands and how they should be used.

The commands are split in terms of InternSHIP’s main features:

:bulb: Tip: To make the best use of this section, make sure to familiarise yourself with the command format rules and parameters used!

Tracking application details

Adding an application : add

Adds a new entry to the application list in InternSHIP.

:information_source: Info:
Minimally, the following fields are required when a new entry is added:
- COMPANY_NAME
- INTERNSHIP_POSITION
- APPLICATION_DEADLINE

There are three fields that receive their default values.
These fields can be changed later using the edit, complete or accept/reject commands respectively.
- APPLICATION_PRIORITY: set as Medium
- COMPLETION_STATUS set as Uncompleted
- APPLICATION_OUTCOME (i.e., application status) set as Pending

Additionally, APPLICATION_REQUIREMENTS, and INTERVIEW_DATE_AND_TIME are optional fields that can either be specified or not.
If not specified at this stage, it can still be added and edited later using the edit command.

Adding an application entry with the same COMPANY_NAME and INTERNSHIP_POSITION as an existing entry is not allowed.

Format: add c/COMPANY_NAME p/INTERNSHIP_POSITION d/APPLICATION_DEADLINE [r/APPLICATION_REQUIREMENTS]…​ [i/INTERVIEW_DATE_AND_TIME]…​

  • Adds a new application with the specified field values to the list.
:bulb: Tip: You can input more than one INTERVIEW_DATE_AND_TIME since many companies have multiple rounds of interviews for a single application!

Examples:

  • add c/Shopee p/software engineer d/2021-12-12 adds a new internship application to Shopee as a software engineer, with the application deadline 12 December 2021.
  • add c/Shopee p/software engineer d/2021-12-12 r/resume adds a new internship application with the same details as the previous example, but with an additional application requirement of a resume.
  • add c/Shopee p/software engineer d/2021-12-12 r/resume i/2021-12-18 1030 adds a new internship application with the same details as the previous example, but with an interview on 18 Dec 2021 10:30.

addBefore

Before the command add c/Shopee p/software engineer d/2021-12-12

addAfter

After the command add c/Shopee p/software engineer d/2021-12-12


Editing the details of an existing entry : edit

Edits the fields of a specified existing entry in the application list.

:information_source: Info:
The fields that can be edited using this command are:
- COMPANY_NAME
- INTERNSHIP_POSITION
- APPLICATION_DEADLINE
- APPLICATION_PRIORITY
- APPLICATION_REQUIREMENTS
- INTERVIEW_DATE_AND_TIME
Editing any field is optional, but least one field must be edited each time.
Multiple fields can be edited at the same time.

For the edited fields, existing values will be overwritten and updated to the new input values. The values for the rest of the fields will remain the same.

Editing an application entry such that the COMPANY_NAME and INTERNSHIP_POSITION become the same as an existing entry is not allowed.
:warning: Warning: For the optional fields INTERVIEW_DATE_AND_TIME and APPLICATION_REQUIREMENTS, editing them overrides all their existing values!
To add on to the existing values or edit an existing value, all the existing values need to be copied over (e.g. to add “CV” as a requirement to an entry that already has “resume” as a requirement, use edit INDEX r/resume r/CV instead of just edit INDEX r/CV, or else “resume” will disappear).
:bulb: Tip:
For the optional fields APPLICATION_REQUIREMENTS and INTERVIEW_DATE_AND_TIME, you can remove all the requirements or interview date and times by using edit r/ or edit i/ respectively without specifying anything after the prefix.

Format: edit INDEX [c/COMPANY_NAME] [p/INTERNSHIP_POSITION] [d/APPLICATION_DEADLINE] [pr/APPLICATION_PRIORITY] [r/APPLICATION_REQUIREMENTS]…​ [i/INTERVIEW_DATE_AND_TIME]…​

  • Edits the application at the specified INDEX.

Examples:

  • edit 1 c/Grab d/2021-12-20 changes the company name and deadline of the 1st application to Grab and 2021-12-20 respectively.
  • edit 2 p/UI designer changes the internship position of the 2nd application to UI designer.

editBefore

Before the command edit 1 c/Grab d/2021-12-20

editAfter

After the command edit 1 c/Grab d/2021-12-20


Completing an application : complete

Updates the completion status of an application from ‘Uncompleted’ to ‘Completed’.

:information_source: Info:
The completion status of the application represents whether the user has completed and submitted the application (and all related requirements) or not.

Format: complete INDEX

  • Marks the entry at the specified INDEX as completed.

Examples:

  • complete 3 marks the 3rd entry in the application list as completed.

completeBefore

Before the command complete 3

completeAfter

After the command complete 3

:information_source: Info:
Trying to mark an application as completed when it has already been marked as completed will produce an error message.

Updating the application outcome to ‘Accepted’: accept

Updates the application outcome (status) of an application to ‘Accepted’.

:information_source: Info:
The application outcome is the decision/outcome provided by the company on whether the candidate has been Accepted or not for the role.
It is different from the completion status!

The accept command also automatically marks the application entry at the specified index as ‘Completed’, because it is assumed that if the user has already received the application outcome, then they must have completed and submitted the application.

Format: accept INDEX

  • Marks the entry at the specified INDEX as ‘Accepted’.

Examples:

  • accept 4 marks the 4th entry in the application list as ‘Accepted’.

acceptBefore

Before the command accept 4

acceptAfter

After the command accept 4

:information_source: Info:
Trying to mark an application as accepted when it has already been marked as accepted will produce an error message.

Updating the application outcome to ‘Rejected’: reject

Updates the application outcome (status) of an application to ‘Rejected’.

:information_source: Info:
The application outcome is the decision/outcome provided by the company on whether the candidate has been Rejected or not for the role.
It is different from the completion status!

The reject command also automatically marks the application entry at the specified index as ‘Completed’, because it is assumed that if the user has already received the application outcome, then they must have completed and submitted the application.

Format: reject INDEX

  • Marks the entry at the specified INDEX as ‘Rejected’.

Examples:

  • reject 3 marks the 3rd entry in the application list as ‘Rejected’.

rejectBefore

Before the command reject 3

rejectAfter

After the command reject 3

:information_source: Info:
Trying to mark an application as rejected when it has already been marked as rejected will produce an error message.

Viewing specific applications

Listing upcoming deadlines : soon

Shows all the applications with submission deadlines or interview times that are within a specified number of days from today.

:information_source: Info:
The available fields are:
- APPLICATION_DEADLINE d/
- INTERVIEW_DATE_AND_TIME i/
:bulb: Tip: For APPLICATION_DEADLINE, soon will only show applications that are not completed yet!

Format: soon FIELD DAYS

  • Find applications that are within DAYS days.
  • Only one field and one keyword can be provided each time.

Examples:

  • soon d/5 shows applications whose submission deadlines are within 5 days from today’s date.

soonBefore

Before the command soon d/5

soonAfter

After the command soon d/5


Finding entries by keyword : find

:warning: Warning: This command will display a filtered list. If you want to go back and view the full list of applications in InternSHIP, use the list command (explained below) after this command instead of the undo command!

Finds application(s) from the application list.

:information_source: Info:
The fields available to be found are:
- COMPANY_NAME c/
- INTERNSHIP_POSITION p/
- COMPLETION_STATUS c1/
- APPLICATION_OUTCOME (i.e. STATUS) s/
- APPLICATION_PRIORITY pr/
- APPLICATION_REQUIREMENTS r/

Format: find FIELD keyword

  • Finds all application(s) from the application list that match the keyword in the given field.
  • Format of keyword should follow the required format of the FIELD as specified in the Parameter Summary.
  • Only one field and keyword(s) can be provided each time.
  • For completion status, application outcome and application priority, exactly one keyword can be provided each time.

Examples:

  • find c/Grab shows all the applications whose company name is Grab.
  • find p/software engineer shows all the applications whose position is software engineer.
  • find c1/Completed shows all the applications that are completed.
  • find s/Accepted shows all the applications whose application outcome is accepted.
  • find pr/High shows all the applications whose priority is high.
  • find r/cv shows all the applications that include cv as a requirement.

findBefore

Before the command find pr/High

findAfter

After the command find pr/High


Listing all entries : list

Shows a list of all the entries in the application list in InternSHIP.

Format: list

listBefore

Before the command list (assume the previous command results in only partial list being displayed)

listAfter

After the command list (full application list is displayed)


Sorting the entries : sort

:warning: Warning: The undo command cannot undo list sorting!

Sorts all entries in the currently displayed application list by a specified field.

:information_source: Info:
The fields available to sort by are:
- COMPANY_NAME c/ (ascending alphabetical order)
- INTERNSHIP_POSITION p/ (ascending alphabetical order)
- APPLICATION_DEADLINE d/ (sooner to later deadline)
- INTERVIEW_DATE_AND_TIME i/ (sooner to later interview)
- APPLICATION_PRIORITY pr/ (higher to lower priority)

Format: sort FIELD

  • Sorts the application list by FIELD.

Examples:

  • sort c/ shows all the applications saved in the current InternSHIP sorted by company name, in alphabetical order.

sortBefore

Before the command sort c/

sortAfter

After the command sort c/


Others

Deleting an entry : delete

Deletes the specified entry from the application list.

Format: delete INDEX

  • Deletes the entry at the specified INDEX.

Examples:

  • delete 2 deletes the 2nd entry in the main application list.

deleteBefore

Before the command delete 2

deleteAfter

After the command delete 2


Clearing all entries : clear

Clears all entries from InternSHIP.

Format: clear

clearBefore

Before the command clear

clearAfter

After the command clear


Undoing a change: undo

Undoes a change made to the application list.

:warning: Warning: This command is to be used after a command that actually makes some change to the application list. Inappropriate use may result in unexpected behaviors.
:information_source: Info:
Commands that can be undone:
- add
- edit
- complete
- accept
- reject
- delete
- clear
Commands that cannot be undone and thus should not be followed by undo:
- soon
- find
- list
- sort
:warning: Warning: When successive changes are made, the undo command will undo the most recent change. Successive undo commands will undo the previous changes from the most recent to the oldest, until there are no more changes that can be undone.

Format: undo

Examples:

  • delete 1 followed by undo undoes the deletion of the first entry. As a result, that entry will reappear in the application list.
  • edit 1 p/tester followed by undo undoes the change made to the first entry’s position field. As a result, the position field of that entry will be restored to its previous value.

undoBefore

Before the command undo (application at index 1 is deleted)

undoAfter

After the command undo (application at index 1 is added back to the list)


Redoing a change : redo

Redoes a change made to the application list.

:warning: Warning: This command is to be used directly after the undo command.
If undo undoes a change (e.g., delete 1 followed by undo), and is then followed by a command that makes some new change to the application list (e.g., edit 2 pr/High), then redo can no longer redo the undone change (i.e. delete 1 cannot be redone).
:warning: Warning: If undo is used multiple times, redo will redo the most recent undone change.
Successive redo commands will redo the undone changes from the most recent to the oldest, until there are no more undone changes to be redone.

Format: redo

Examples:

  • delete 1 followed by undo and then redo redoes the deletion of the first entry after it is restored by undo. As a result, that entry will no longer be in the application list.
  • edit 1 p/tester followed by undo and then redo redoes the change made to the first entry’s position field after it is undone by undo. As a result, the value of the position field of that entry will be changed to “tester”.

redoBefore

Before the command redo (deletion of the first application was undone)

redoAfter

After the command redo (the first application was deleted once again)


Exiting the program : exit

Exits the InternSHIP app.

Format: exit


Viewing help : help

Shows a message directing the user to the Command Summary section of InternSHIP’s User Guide.

help message

Format: help


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 InterSHIP app home folder.

Q: How can I save my data in the app?
A: InternSHIP data is saved in the hard disk automatically after any command changes the data. There is no need to save manually.


Tips :bulb:

  • Commands that change the displayed list in InternSHIP (e.g. find, sort) can be used in conjunction with commands that take in INDEX as a parameter (e.g. delete, complete) so that you can work faster!
    • e.g. find c/Grab followed by complete 1 can help you quickly find the application you made to Grab and mark it as completed, instead of slowly searching through your entire list of applications!
  • Commands that change the displayed list in InternsHIP (e.g. find, sort) can also be used in conjunction with each other!
    • e.g. find c/Grab followed by sort pr/ shows all the applications you made to Grab, sorted from higher to lower priority!

Command summary

This section gives an overview of all the commands supported by InternSHIP.

Tracking application details

Action Format Example Notes
Add add c/COMPANY_NAME p/INTERNSHIP_POSITION d/APPLICATION_DEADLINE [r/APPLICATION_REQUIREMENTS]…​ [i/INTERVIEW_DATE_AND_TIME]…​ add c/Shopee p/software engineer d/2021-12-12  
Edit edit INDEX [c/COMPANY_NAME] [p/INTERNSHIP_POSITION] [d/APPLICATION_DEADLINE] [pr/APPLICATION_PRIORITY] [r/APPLICATION_REQUIREMENTS]…​ [i/INTERVIEW_DATE_AND_TIME]…​ edit 1 c/Grab d/2021-12-20  
Complete complete INDEX complete 1  
Accept accept INDEX accept 2  
Reject reject INDEX reject 2  

Viewing specific applications

Action Format Example Notes
Find find PREFIX KEYWORD find pr/High PREFIX refers to the field to match the keyword to (c/ COMPANY_NAME, p/ INTERNSHIP_POSITION, c1/ COMPLETION_STATUS, s/ APPLICATION_OUTCOME (i.e. STATUS), pr/ APPLICATION_PRIORITY, r/ APPLICATION_REQUIREMENTS)
Soon soon PREFIX DAYS soon d/5 PREFIX refers to the field with coming deadline or interview (d/ APPLICATION_DEADLINE, i/ INTERVIEW_DATE_AND_TIME)
List list list No parameter required.
Sort sort PREFIX sort c/ PREFIX refers to the application detail to be sorted by (c/ COMPANY_NAME, p/ INTERNSHIP_POSITION, d/ APPLICATION_DEADLINE, pr/ APPLICATION_PRIORITY, i/ INTERVIEW_DATE_AND_TIME)

Others

Action Format Example Notes
Delete delete INDEX delete 3  
Clear clear clear No parameter required.
Undo undo undo No parameter required.
Redo redo redo No parameter required.
Exit exit exit No parameter required.
Help help help No parameter required.

Prefix summary

This section provides a summary of all the fields and their corresponding prefixes as used in InternSHIP commands.

Field Prefix Used in
APPLICATION_DEADLINE d/ add, edit, sort, soon
APPLICATION_PRIORITY pr/ edit, find, sort
APPLICATION_REQUIREMENTS r/ add, edit
APPLICATION_OUTCOME (i.e. STATUS) s/ find
COMPANY_NAME c/ add, edit, find, sort
COMPLETION_STATUS c1/ find
INTERNSHIP_POSITION p/ add, edit, find, sort
INTERVIEW_DATE_AND_TIME i/ add, edit, sort, soon
:warning: Warning: Please make sure you enter the prefix correctly!
The list above is a complete list of all the prefixes used in InternSHIP commands. Any other prefixes are considered invalid, and may be interpreted incorrectly or lead to unexpected error messages if used.

Glossary

This section explains some terms used in this User Guide.

Term Definition Notes
Command Line Interface (CLI) Allows users to type in their commands to use an application instead of clicking on buttons on the screen.  
Graphical User Interface (GUI) The display of an application with text formatting, background colours, etc… An application without any GUI would only show plain text to the user.  
Java A software that allows certain applications (like InternSHIP) to run on the computer. You will not be able to run InternSHIP on your computer without Java!
application The application for an internship at a specific company.  
field The detail of an application. e.g. company name, internship position, etc…
command The instruction typed by the user for InternSHIP to execute.  
parameter A part of the command that consists of information input by the user. In the context of InternSHIP, this information refers to the actual data of the application fields.
prefix An abbreviation for the application field. For commands like add or edit, the prefix should be typed in right before the parameter for that field. Always ends with a slash (/).
alphanumeric A character that is either a letter or a number.  

Acknowledgements