EffiTrack is a desktop app for managing employees, tracking the efficiency of employees, 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, EffiTrack can get your contact management tasks done faster than traditional GUI apps.
EffiTrack simplifies the task of measuring and monitoring employee efficiency for
HR departments.
Instead of using time-consuming and error-prone methods like manual documentation or
outdated systems, EffiTrack offers a centralized platform for easy and accurate monitoring of employee performance.
Ensure you have Java 11
or above installed in your Computer.
Download the latest EffiTrack.jar
from here.
Copy the file to the folder you want to use as the home folder for EffiTrack.
Open a command terminal, cd
into the folder you put the jar file in, and use the java -jar EffiTrack.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.
Type the command in the command box and press Enter to execute it. e.g. typing help
and pressing Enter will open the help window.
Some example commands you can try:
list
: Lists all employees.
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 d/Finance eff/80
: Adds an employee named John Doe
to EffiTrack.
edit 1 n/Colby Bryan
: Edits the name of the 1st employee shown in the current list to Colby Bryan
.
delete 3
: Deletes the 3rd employee shown in the current list.
find john
: Finds all employees whose name contains john
.
findtask report
: Finds all employees whose task contains report
.
filter finance
: Filters the list to display employees who belong to finance
department.
assign task/Complete Proposal by/20-05-2024 2359 to/1
:Assigns the task Complete Proposal
with specific deadline to the 1st employee shown in the current list.
mark task/Complete Proposal o/1
: Mark the task Complete Proposal
assigned to the 1st employee as done.
filter_efficiency 50
: Filters all employees and list those efficiency less than or equals to 50
.
clear
: Deletes all employees.
undo
: Undo the previous command.
redo
: Reverses the previous undo command.
history
: Displays the commands executed from most recent to earliest, inclusive of invalid commands.
exit
: Exits the app.
Refer to the Features below for details of each command.
Notes about the command format:
Words in UPPER_CASE
are the parameters to be supplied by the user.
e.g. in add n/NAME
, NAME
is a parameter which can be used as add n/John Doe
.
Items in square brackets are optional.
e.g n/NAME [t/TAG]
can be used as n/John Doe t/friend
or as n/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/friend
, t/friend t/family
etc.
Parameters can be in any order.
e.g. if the command specifies n/NAME p/PHONE_NUMBER
, p/PHONE_NUMBER n/NAME
is also acceptable.
Extraneous parameters for commands that do not take in parameters (such as help
, list
, exit
and clear
) will be ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
Notes about the parameters:
NAME
: The name of the employee.
NAME
is case-sensitive (e.g. john Doe
is not the same as John Doe
)NAME
is space-sensitive (e.g. John Doe
is not the same as John Doe
)PHONE_NUMBER
: The phone number of the employee.
EMAIL
: The email address of the employee.
local-part
should only contain alphanumeric characters and the following special characters +
, _
, .
and -
is allowed.local-part
may not start or end with any special characters.local-part
must be followed with an @
.domain
is made up of one or more domain label
.
domain label
is separated by a .
.domain label
must be at least 2 characters long.domain label
must start and end with alphanumeric characters.domain label
contains alphanumeric characters, separated only by -
, if any.ADDRESS
: The home address of the employee.
DEPARTMENT
: The department of the employee.
EFFICIENCY
: The efficiency score of the employee.
TAG
: The tag of the employee.
INDEX
: The index refers to the index number shown in the displayed employee list.
int
data type (up to 2147483647), otherwise it will not be considered as a positive integer.TASK
: The task title of task.
TASK
is case-sensitive (e.g. project
is not the same as Project
)TASK
is space-sensitive (e.g. Project A
is not the same as Project A
)KEYWORD
: The keyword of the query.
KEYWORD
is case-insensitive.THRESHOLD
: The threshold of efficiency score of the employee.
COMMENT
: The comment about the employee.
</>
help
Shows a message explaining how to access the help page.
Format: help
add
Adds an employee to EffiTrack.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS d/DEPARTMENT eff/EFFICIENCY [t/TAG]…
Tip:
Examples:
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 d/Finance eff/80
add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 d/Murder eff/10 t/criminal
list
Shows a list of all employees in EffiTrack.
Format: list
edit
Edits an existing employee in EffiTrack.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [d/DEPARTMENT] [t/TAG]…
INDEX
. The index refers to the index number shown in the displayed employee list. The index must be a positive integer 1, 2, 3, …t/
without
specifying any tags after it.Examples:
edit 1 p/91234567 e/johndoe@example.com
Edits the phone number and email address of the 1st employee to be 91234567
and johndoe@example.com
respectively.edit 2 n/Betsy Crower t/
Edits the name of the 2nd employee to be Betsy Crower
and clears all existing tags.edit_deadline
Edit the deadline of an employee's task
Format: edit_deadline INDEX by/dd-MM-yyyy HHmm
Example:
edit_deadline 1 by/22-04-2024 2359
find
Finds employees whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
hans
will match Hans
Hans Bo
will match Bo Hans
Han
will match Hans
OR
search).
e.g. Hans Bo
will return Hans Gruber
, Bo Yang
Examples:
find John
returns john
and John Doe
find alex david
returns Alex Yeoh
, David Li
filter
Filters employees by their department or tags
Format: filter KEYWORD [MORE_KEYWORDS]
finance
will match Finance
Quantitative Finance
will match Finance Quantitative
Fin
will match Finance
OR
search).
e.g. Marketing Fiance
will return Quantitative Finance
, Marketing
Examples:
filter Finance
returns Finance
and Quantitative Finance
filter resource
returns Human Resource
, Resource Management
delete
Deletes the specified employee from EffiTrack.
Format: delete INDEX
INDEX
.Examples:
list
followed by delete 2
deletes the 2nd employee in EffiTrack.find Betsy
followed by delete 1
deletes the 1st employee in the results of the find
command.assign
Assign a task to a specific person.
Format: assign task/TASK_TITLE by/dd-MM-yyyy HHmm to/INDEX
INDEX
Examples:
assign task/Complete Project Proposal by/20-04-2024 2359 to/1
Assign the 'Complete Project Proposal' task to the first person in the address book.reassign
Reassign a specific task from one person to another.
Format reassign from/FROMINDEX to/TOINDEX
FROMINDEX
, to the person at the specified TOINDEX
mark
Mark the specified task as done.
Format: mark task/TASKNAME o/INDEX
TASKNAME
as done.Examples:
mark task/Submit Project o/1
mark the task Submit Project assigned to the first employee in EffiTrack as done.findtask
Finds the person(s) in charge of the task. Note that this only updates the person list on the right side of the UI, and not the task list and the bottom left corner.
Format findtask KEYWORD
report
will match Report
report submit
will match submit report
report
will match reports
findfree
Finds the person(s) who has no current task.
Format findfree
filter_efficiency
Filters employees with efficiency less than or equals to a given threshold.
Format: filter_efficiency THRESHOLD
Examples:
filter_efficiency 30
returns employees with efficiency 0 to 30.clear
Clears all entries from EffiTrack.
Format: clear
exit
Exits the program.
Format: exit
undo
Undo the previous command.
Format: undo
redo
Reverts the latest undo command.
Format: redo
history
Displays the commands executed from most recent to earliest, inclusive of invalid commands. It only stores commands used in a single session of usage of the program and is cleared if the app is restarted.
Format: history
comment
Adds comment to an employee
Format: comment INDEX c/COMMENT
Example:
comment 1 c/Good at database management.
EffiTrack data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
EffiTrack data are saved automatically as a JSON file [JAR file location]/data/addressbook.json
. Advanced users are welcome to update data directly by editing that data file.
Caution:
If your changes to the data file makes its format invalid, EffiTrack will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause the EffiTrack to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
[coming in v2.0]
Details coming soon ...
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 EffiTrack home folder.
preferences.json
file created by the application before running the application again.Action | Format, Examples |
---|---|
Add | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS d/DEPARTMENT eff/EFFICIENCY [t/TAG]… e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 d/IT eff/80 t/friend t/colleague |
Delete | delete INDEX e.g., delete 3 |
Edit | edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [d/DEPARTMENT] [t/TAG]… e.g., edit 2 n/James Lee e/jameslee@example.com |
Assign Task | assign task/TASK by/dd-MM-yyyy to/INDEX e.g., assign task/Complete Project Proposal by/22-05-2023 2359 to/1 |
Reassign Task | reassign from/FROMINDEX to/TOINDEX e.g., reassign from/2 to/1 |
Mark Task | mark task/TASK o/INDEX e.g. mark task/Complete Project Proposal o/1 |
Edit Deadline | edit_deadline INDEX by/dd-MM-yyyy HHmm |
Find Name | find KEYWORD [MORE_KEYWORDS] e.g., find James Jake |
Filter Department | filter KEYWORD [MORE_KEYWORDS] e.g., filter Finance |
Filter Efficiency | filter_efficiency THRESHOLD e.g., filter_efficiency 40 |
Find Task | findtask KEYWORD e.g., findtask Project |
Find Free Person | findfree |
Comment | comment INDEX c/COMMENT e.g., comment 1 c/Good at database management. |
List | list |
Clear | clear |
Undo | undo |
Redo | redo |
History | history |
Help | help |
Exit | exit |