User Guide
- Introduction
- Quick Start
- What is a Role?
- Features
- Creating Role Info
- Viewing Role Info
- General Commands
- Editing raw data
- FAQ
- Command Summary
Introduction
TechTrack is a powerful internship/job tracking application that combines the flexibility of a Command Line Interface (CLI) with the benefits of a Graphical User Interface (GUI). Designed for computing students and professionals, TechTrack helps you manage your internship/job search project by tracking deadlines and information regarding various roles. Its CLI interface is optimized for speed, efficiency, and ease of use, making it a valuable tool for students who are already familiar with CLI environments.
Quick Start
- Ensure you have Java
11
or above installed in your Computer. - Download the latest TechTrack.jar from here.
- Copy the file to the folder you want to use as the home folder for TechTrack.
- Open a command terminal,
cd
into the folder you put the jar file in, and use thejava -jar TechTrack.jar
command to run the application. - A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
What is a Role?
In TechTrack, users can manage their favourite roles through various commands. Here is what TechTrack can store per role:
The prefixes and their respective parameters are as follows:
Required | Prefix | Parameter | Restrictions |
---|---|---|---|
Yes |
n | NAME | The string must contain at least one alphanumeric character or space. If the string consists of only one character, it cannot be a space. |
Yes |
c | CONTACT | Numeric characters only. At least 3 numeric characters. |
Yes |
e | Must follow a valid email format. See below for more information. | |
Yes |
coy | COMPANY | The string must contain at least one non-space character. |
No |
t | TAG | The string must contain at least one alphanumeric character or space. If the string consists of only one character, it cannot be a space. Note: Editing a role’s tag to a space character removes the tag from that role |
Yes |
w | WEBSITE | Must be in www.[any number of characters].com *Brackets between ‘www.’ and ‘.com’ are not needed. |
Yes |
jd | JOB DESCRIPTION | The string must contain at least one non-space character. |
Yes |
$ | SALARY | Must be a positive whole number that is larger than 0. |
Yes |
d | APPLICATION DEADLINE | Follows YYYY-MM-DD format and must not be over current date. |
Yes |
x | EXPERIENCE REQUIRED | The string must contain at least one non-space character. |
Email Format
- Emails should be of the format local-part@domain and adhere to the following constraints:
- The local-part should only contain alphanumeric characters and these special characters, excluding the parentheses, (+_.-). The local-part may not start or end with any special characters.
- This is followed by a ‘@’ and then a domain name. The domain name is made up of domain labels separated by periods.
- The domain name must:
- end with a domain label at least 2 characters long
- have each domain label start and end with alphanumeric characters
- have each domain label consist of alphanumeric characters, separated only by hyphens, if any.
💡 Note: TechTrack does not allow users to store duplicate Roles. Roles are considered duplicates if they have the same NAME and COMPANY (both are case-sensitive).
Features
This section guides you on how to utilise features available in TechTrack.
The features of TechTrack can be split into 3 main categories:
Notes about the command formatting:
-
Words in
UPPER_CASE
and surrounded by{}
are the parameters to be supplied by the user. e.g. inadd n/{NAME}
,{NAME}
is a parameter which can be used asadd n/Software Engineer
. -
Items in square brackets are optional. e.g
n/{NAME} [t/TAG]
can be used asn/Software Engineer t/BigTech
or asn/John Doe
. -
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/Tech
,t/Applied t/InvitedForInterview
etc. -
Parameters can be in any order. e.g. if the command specifies
n/{NAME} c/{CONTACT}
,n/{NAME} c/{CONTACT}
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/12341234 c/56785678
, onlyc/56785678
will be taken. -
Extraneous parameters for commands that do not take in parameters (such as
help
,list
,exit
andclear
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
.
Creating Role Info
The commands in this segment are focused on creating, editing and removing data to and from the application. These commands are:
Adding a role: add
Adds a role to TechTrack.
Format: add n/{NAME} c/{CONTACT} e/{EMAIL} coy/{COMPANY} jd/{JOB DESCRIPTION} [t/{TAG}]... w/{WEBSITE} $/{SALARY} d/{DEADLINE} x/{EXPERIENCE}
Example: Adding a new role to a fresh installation of TechTrack
add n/Software Engineer c/98765432 e/google@example.com coy/Google t/Java t/Golang w/www.google.com
jd/Data Engineering team - penultimate students preferred $/4000 d/2023-10-20 x/Javascript - 1 Year
💡 Note: Refer to the attributes of a role here
Editing a Role: edit
Edit any parameters of a preexisting role.
💡 Note: The user must provide at least one parameter to edit!
Format: edit {index} [n/{NAME}] [c/{CONTACT}] [e/{EMAIL}] [coy/{COMPANY}] [jd/{JOB DESCRIPTION}] [t/{TAG}]... [w/{WEBSITE}]
[$/{SALARY}] [d/{DEADLINE}] [x/{EXPERIENCE}]
- Edits the role at the specified
{INDEX}
. The index refers to the index number shown in the displayed role list. The index must be a positive integer 1, 2, 3, … - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- When editing tags, the existing tags of the role will be removed i.e adding of tags is not cumulative.
- You can remove all the person’s tags by typing
t/
without specifying any tags after it.
Examples:
edit 1 n/Software Engineer
Changes the name of the 1st role to “Software Developer”
edit 2 coy/Meta t/
Changes the company of the 2nd role to “Meta” and removes all tags.
💡 Note: Refer to the attributes of a role here
Deleting a role: delete
Deletes the role from the current list of roles.
Format: delete {index}
- Deletes the role at the specified
{index}
. The index refers to the index number shown in the displayed role list. The index must be a positive integer 1, 2, 3, …
Examples:
list
followed bydelete 3
deletes the 3rd role from TechTrack
company google
thendelete 2
deletes the 2nd role in the results of thecompany
command
Viewing Role Info
The commands in this segment are focused on viewing formats and details of the preexisting roles. These commands are:
Finding roles
The commands in this section returns roles where a certain attribute contains the given keywords. The property
differs based on the command (e.g., name {keyword}
will search for roles based on their name
).
- The search is case-insensitive. e.g
software
will matchSoftware
- The order of the keywords does not matter. e.g.
Software Engineer
will matchEngineer Software
- Only the name is searched.
- Only full words will be matched e.g.
Soft
will not matchSoftware
- Roles matching at least one keyword will be returned (i.e.
OR
search). e.g.Software Analyst
will returnInvestment Analyst
,Software Developer
Find roles by Name: name
Searches for roles whose name contains any of the given keywords.
Format: name {keyword} [{more keywords}]...
Examples:
name analyst software
returns roles with names that include keywords “analyst” and “software”name developer
returns roles with names that include the “developer” keyword
Find roles by Company: company
Searches for roles whose company contains any of the given keywords.
Format: company {keyword} [{more keywords}]...
Examples:
company google meta
returns roles with company that include keywords “google” and “meta”company google
returns roles with company that include the “google” keyword
Image examples omitted as they’re similar to the name command
Find roles by Tag: tag
Searches for roles whose tags contain any of the given keywords.
Format: tag {keyword} [{more keywords}]...
Examples:
tag golang java
returns roles with tags that include keywords “google” and “meta”tag golang
returns roles with tags that include the “google” keyword
Image examples omitted as they’re similar to the name command
Sorting roles
The commands in this role sorts the entire role list based on an attribute, which differs per command.
For example, using the command name SWE
followed by deadline asc
would sort the filtered list of roles with
SWE
in its name, in ascending order by deadline. Afterwards, using the list
command would display the
original role list in its newly sorted order.
Sorting by Deadline: deadline
Sort roles based on deadline in ascending or descending order.
Format: deadline asc/desc
Example 1: deadline asc
Example 2: deadline desc
Sorting by Salary: salary
Sort roles based on salary in ascending or descending order.
Format: salary asc/desc
Example 1: salary asc
Example 2: salary desc
Viewing more details of a role: view
The view command allows users to view more detailed information about a specific role. While the list of role cards on the left side of the GUI only displays key information such as the role’s name, company, salary, deadline, and required experience, the view command generates a graphic on the right side of the GUI that presents additional details of the selected role.
Format: view {index}
- Views the role at the specified
{index}
. The index refers to the index number shown in the displayed role list. The index must be a positive integer 1, 2, 3, …
Examples:
list
followed byview 1
company meta
followed byview 1
General Commands
List: list
Lists all roles available in TechTrack.
Clear: clear
Deletes all roles available in TechTrack.
Help: help
Display commands that are available in TechTrack and the proper format for usage. Also links to this user guide.
Exit: exit
Exits and closes TechTrack.
Editing raw data
You can directly edit TechTrack’s data file after running and exiting the app.
❗ Caution: If your changes to the data file makes its format invalid, TechTrack will discard that data file and start with an empty list of roles.
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 TechTrack home folder.
Command Summary
Command | Format | Example |
---|---|---|
add | add n/{NAME} c/{CONTACT} e/{EMAIL} coy/{COMPANY} jd/{JOB DESCRIPTION} [t/{TAG}]... w/{WEBSITE} $/{SALARY} d/{DEADLINE} x/{EXPERIENCE} |
add n/Software Engineer c/98765432 e/google@example.com coy/Google t/Java t/Golang w/www.google.com jd/Data Engineering team - penultimate students preferred $/4000 d/2023-10-20 x/Javascript - 1 Year |
edit | edit {index} [n/{NAME}] [c/{CONTACT}] [e/{EMAIL}] [coy/{COMPANY}] [jd/{JOB DESCRIPTION}] [t/{TAG}]... [w/{WEBSITE}] [$/{SALARY}] [d/{DEADLINE}] [x/{EXPERIENCE}] |
edit 1 e/johndoe@example.com w/www.google.com c/91234567 jd/Working on HFT systems - C++ knowledge needed $/4000 d/2023-10-20 x/Javascript - 1 Year |
delete | delete {index} |
delete 1 |
name | name {keyword} [{more keywords}]... |
name analyst engineer data |
company | company {keyword} [{more keywords}]... |
company Google |
tag | tag {keyword} [{more keywords}]... |
tag frontend |
deadline | deadline {asc/desc} |
deadline asc |
salary | salary {asc/desc} |
salary desc |
view | view {index} |
view 1 |
list | list |
list |
clear | clear |
clear |
help | help |
help |
exit | exit |
exit |
💡 Note: Refer to the attributes of a role here