Internity is a CLI based app for managing internship applications. Internity can help you manage and keep track of your internship applications more efficiently, perfect for Computer Science students who need to manage hundreds of applications. This guide explains how to install and use Internity to the fullest.
java -version in your terminal.[CS2113-W14-4][Internity].jar from GitHub, onto any empty folder on your computer.[CS2113-W14-4][Internity].jar.java -jar [CS2113-W14-4][Internity].jarTip: Type help to view a list of available commands at any time.
delete INDEX → Please input delete 1dashboard, help and exit will ignore any arguments. The command will still be valid.addAdd a new internship application with company, role, deadline and pay amount.
Refer to notes on using the command below.
Format
add company/COMPANY_NAME role/ROLE_NAME deadline/DEADLINE pay/PAY_AMOUNT
Example:
add company/Google role/Software Engineer Intern deadline/17-09-2025 pay/7000
This command adds an internship application at Google for the role of Software Engineer Intern with a deadline of 17 September 2025, and a monthly salary of $6000.
addCOMPANY_NAME ≤ 30 characters, ROLE_NAME ≤ 30 characters.COMPANY_NAME and ROLE_NAME must be alphanumerical.DEADLINE must be in dd-MM-yyyy format. Any valid past, present or future deadline can be added. PAY_AMOUNT must be a non-negative integer within Java's 32-bit signed integer range (maximum 2,147,483,647).deleteDelete an existing internship application from the internship list
Format:
delete INDEX
Example:
delete 2
This command deletes the internship application at index 2 from the list.
updateUse this command to update any field (company, role, deadline, pay, status) of an internship application.
STATUS valuesPending - You’re considering the internship but haven’t applied yet.Interested - You’ve found the internship and might apply.Applied - You’ve submitted your application.Interviewing - You’re currently in the interview process.Offer - You’ve received an internship offer.Accepted - You’ve accepted the offer.Rejected - The application was unsuccessful or withdrawn.Format:
update INDEX field1/VALUE1 field2/VALUE2 ...
Example:
update 1 status/Accepted
update 2 company/Microsoft status/Interviewing
The 1st command updates the status of the internship application at index 1 to “Accepted”.
The 2nd command updates the company of the internship application at index 2 to “Microsoft” and its status to “Interviewing”.
add feature.update 1 company/ABC company/XYZ will update the company of the internship application at index 1 to "XYZ".listUse this command to view all internship applications. You can optionally sort them by deadline in ascending or descending order.
Format:
list
list sort/ORDER
Example:
list
list sort/asc
list sort/desc
list → shows all applications in the order they were addedlist sort/asc → sorts applications by deadline ascendinglist sort/desc → sorts applications by deadline descendingsort/ORDER parameter is optional. If omitted, the default listing order is by addition time.findSearch for internship applications by company or role with a keyword. The search is case-insensitive.
Format:
find KEYWORD
Example:
find Software Engineer
This command lists all internship applications that contain the keyword “Software Engineer” in either its company or role fields.
usernameUse this command to set or change the username for the Internity application. Whitespace between names will be maintained.
Format:
username NEW_USERNAME
Example:
username Yoshikage Kira
This command changes the username to Yoshikage Kira and notifies the user.
dashboardUse this command to display a dashboard showing the current user’s information, total internships, nearest deadline, and a breakdown of internships by status.
Format:
dashboard
dashboard cs2113(OVERDUE!). It also shows the number of internships that share the same deadline (if any).
Nearest Deadline: 31-10-2019 | Coffee Barista @ Sunbucks (OVERDUE!) (Found 2 other internship(s) with the same deadline)
helpUse this command to display a help message with a list of available commands.
Format:
help
help meexitUse this command to quit the program. Your data is saved.
Format:
exit
exit nowQ: How do I transfer my data to another computer?
A: Make a copy of the data/ folder of the home directory that runs Internity.jar to the new computer. Ensure that
the folder structure remains intact.
Q: I have encountered an invalid command error. What do I do?
A: Refer to the Features section for details on using a command.
Q: Does Internity work without Internet?
A: Yes, Internity does not require an active internet connection, allowing you to manage your internships
seamlessly!
Q: My application unexpectedly closed. Will my previous entries be saved?
A: Yes, Internity automatically saves your data after each command, ensuring that your entries are preserved even in the event of an unexpected closure.
Q: How can I reset my data to start fresh?
A: Close the app and delete the data/internships.txt file. On next start, the app will create a new empty data file. Be careful: this deletes all saved internships.
Q: I see warnings about corrupted lines being deleted when I start Internity — what happened?
A: On startup, Internity scans the save file (data/internships.txt) for malformed or corrupted lines. If any problematic lines are found, the program automatically detects and removes those lines to keep the data consistent and prints a warning for each deleted line. These warnings appear before the welcome message.
Important: the deletions are staged in memory and are NOT written back to the save file immediately. The cleaned data is only persisted to disk when the program executes a command. If you force-quit the program (for example, pressing Ctrl+C) before typing any command, the program exits without saving and the original save file will remain unchanged.
Q: Does the username persist between sessions?
A: Yes, the username is saved in the data file and automatically loaded when you start Internity.
Q: Can I have duplicate internship applications?
A: Yes, Internity allows multiple entries with the same company and role, as they may represent different opportunities or applications.
Q: What if I enter a deadline in the past?
A: You can add past deadlines without issue.
Q: Is the pay amount monthly or annual?
A: The pay field represents the monthly salary (e.g., in SGD or your local currency). It’s stored as a number without units, so you may choose to use any currency.
—
| Action | Command | Format | Example |
|---|---|---|---|
| Add Application | add |
add company/COMPANY_NAME role/ROLE_NAME deadline/DEADLINE pay/PAY_AMOUNT |
add company/Google role/Software Engineer Intern deadline/17-09-2025 pay/7000 |
| Delete Application | delete |
delete INDEX |
delete 2 |
| Update Application | update |
update INDEX FIELD/VALUE |
update 1 status/Interviewing |
| List Applications | list |
list → list all applications in the order they were added list sort/ORDER → sort applications by deadline ascending (asc) or descending (desc) |
list list sort/asc list sort/desc |
| Find Application | find |
find KEYWORD |
find Software Engineer |
| Set/Change username | username |
username NEW_USERNAME |
username Yoshikage Kira |
| Display Dashboard | dashboard |
dashboard |
dashboard |
| Help | help |
help |
help |
| Exit Internity | exit |
exit |
exit |