User Guide
Table of Contents
- Welcome to HEY MATEz
- About this User Guide
- Quick Start
-
Features
- General Features
- Member Related Features
-
Task Related Features
- 1. Add Task:
addTask
- 2. Delete Task:
deleteTask
- 3. View Tasks:
viewTasks
- 4. Edit Task:
editTask
- 5. Mark Task as Completed:
done
- 6. Mark Task as Uncompleted:
undo
- 7. Find Tasks by Keywords:
findTasks
- 8. Find Tasks by Deadline:
findBefore
- 9. Find Tasks by Priority:
findPriority
- 10. Clear all Members Assigned to a Task:
clearAssignees
- 11. View List of Unassigned Tasks:
viewUnassignedTasks
- 12. View List of Uncompleted Tasks:
viewUncompletedTasks
- 13. Find Tasks Assigned to a Single Member:
findTasksFor
- 1. Add Task:
- Data Storage
- FAQ
- Command Summary
Welcome to HEY MATEz
As a CCA / club leader, are you struggling to keep track of the ever-changing members of your club as well as manage the mountain of tasks that have to be completed? Or perhaps it is a challenge to keep track of the increasing number of deadlines and be able to assign tasks to members efficiently.
HEY MATEz is a desktop application to get rid of your woes by allowing you to track members and tasks within the club efficiently and easily! It is a Command Line Interface (CLI) application which handles user requests that are typed into the input box as commands.
With HEY MATEz, managing and distributing tasks will never be a headache again!
About this User Guide
This user guide includes information on the features of HEY MATEz as well as a walkthrough on how to use them. The features are further divided into 3 sections which include the General features, Member related features as well as the Task related features. Member related features allow you to manage a list of members and find members. On the other hand, Task related features allow you to manage tasks which can be identified by their unique list indexes.
Quick Start
-
Ensure you have Java
11
or above installed in your Computer. You can install Java11
here. -
Download the latest
heymatez.jar
from here. -
Copy the file to the folder you want to use as the home folder for your HEY MATEz.
-
Double-click the file to start the app. The GUI similar to the picture below should appear in a few seconds. Note how the app contains some sample tasks and members.
-
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:-
viewMembers
: Lists all members. -
addTask
Proposal d/Write out detailed proposal plan for CCA timeline b/2021-04-22
: Adds a task namedProposal
to HEY MATEz. -
deleteTask
3
: Deletes the 3rd task shown in the list. -
clear
: Deletes all tasks and members. -
exit
: Exits the app.
-
-
Refer to the Features below for details of each command.
Features
Notes about the command format:
-
Words in
UPPER_CASE
are the parameters to be supplied by the user.
e.g. inaddMember NAME
,NAME
is a parameter which can be used asaddMember John Lim
. -
Items in square brackets are optional.
e.gd/DESCRIPTION [p/PRIORITY]
can be used asd/Meeting p/high
or asd/Meeting
. -
Items with
…
after them can be used multiple times including zero times.
e.g.[a/ASSIGNEE]…
can be used as ` ` (i.e. 0 times),a/Duncan
,a/Daniel a/Benson
etc. -
Parameters with prefixes can be in any order.
e.g. if the command specifiese/EMAIL p/PHONE_NUMBER
,p/PHONE_NUMBER e/EMAIL
is also acceptable. -
If a parameter with a prefix 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 specifyp/98562545 p/88885555
, onlyp/88885555
will be taken. -
Extraneous parameters for commands that do not take in parameters (such as
help
,exit
andclear
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
. -
For features which use the INDEX field, the INDEX you specify must be a valid number in the currently displayed list of tasks.
-
The NAME, NEW_NAME, ASSIGNEE and NEW_ASSIGNEE fields are case-sensitive and format-sensitive across all features which uses it. e.g. “Alex Yeoh” and “Alex Yeoh” are not the same.
General Features
1. View Help: help
Shows a message explaining how to access the help page.
Format: help
Example: help
2. Clear all data in application: clear
Clears all entries from the application.
Format: clear
Example: clear
3. Exiting the programme: exit
Exits the program.
Format: exit
Example: exit
Member Related Features
1. Add Member: addMember
With new members joining the club, you can add a new member along with his/her contact number and email to the members list.
Format: addMember NAME p/PHONE_NUMBER e/EMAIL [r/ROLE]
- NAME and ROLE fields can take on any values with alphanumeric characters.
- PHONE_NUMBER field has to have a minimum length of 3 digits and maximum length of 15 digits.
- If ROLE field is not specified, person will be assigned a default role of
Member
.
Assumptions:
- Every member in the CCA has a different name. An error will be prompted when you add a member with the same name but with a different phone number, email or role.
Examples:
addMember Dylan p/64529356 e/dylan@gmail.com
addMember Dylan p/64529356 e/dylan@gmail.com r/President
Using the following addMember command, addMember Erynne p/96398428 e/erynne@gmail.com
, the addMember command
can be used as shown below:
- Key in the addMember command and its parameters
- Press enter and view the result of the addMember command
2. Delete Member: deleteMember
As members leave the club, you can delete a member along with all of his/her contact details from the members list.
Format: deleteMember NAME
Examples:
deleteMember Rachel
3. View Members: viewMembers
Displays the list of members that you have added into HEY MATEz.
Format: viewMembers
Examples:
viewMembers
4. Edit Member: editMember
Club members may change their emails or phone numbers after a while. This feature allows you to edit the details of an existing member in the application with the name you specify.
Format: editMember NAME [n/NEW_NAME] [p/NEW_PHONE_NUMBER] [e/NEW_EMAIL] [r/NEW_ROLE]
- Edits the member with the specified NAME.
- At least one of the optional fields must be provided.
- NEW_NAME and NEW_ROLE fields can take on any values with alphanumeric characters.
- Existing values will be updated to the input values.
Examples:
editMember Alice n/Alice Tan
editMember Alice n/Alice Tan p/98154155 e/aliceTan@gmail.com
editMember Alice n/Alice Tan p/98154155 e/aliceTan@gmail.com r/Events head
5. Find Members by Keywords: findMembers
With so many members in the club, you may want to find a particular member’s details quickly. This feature allows you to find all members whose NAME, PHONE_NUMBER, EMAIL or ROLE contain any of the specified keywords.
Format: findMembers KEYWORD [MORE_KEYWORDS]...
- KEYWORD must match an entire word in order for the particular member to be found.
- e.g.
Rachel
will not match withRach
.
- e.g.
- The search using KEYWORD is case-insensitive
- e.g.
Rachel
will match withrachel
.
- e.g.
Examples:
findMembers Rachel
findMembers Rachel 98562154 john@gmail.com
findMembers Rachel 98562154 john@gmail.com President
Task Related Features
1. Add Task: addTask
With new tasks that needs to be completed within the club every week, you can add a task, with its description and deadline to the task list.
Format: addTask TITLE d/DESCRIPTION b/DEADLINE [s/STATUS] [p/PRIORITY] [a/ASSIGNEE]...
- If you did not specify a value for STATUS, the Task will be assigned a default status value of uncompleted.
- STATUS field can only take on the values completed or uncompleted (Values are case-sensitive).
- If you did not specify a value for PRIORITY, the Task will be assigned a default priority of unassigned.
- PRIORITY field can only take on the values high, medium, low or unassigned (Values are case-sensitive).
Examples:
addTask CCA Timeline d/Plan semester's timeline b/2021-04-04 s/completed p/high a/Rachel
addTask CCA Timeline d/Plan semester's timeline b/2021-04-04 a/Rachel a/James
Using the following addTask command, addTask CCA Timeline d/Plan semester's timeline b/2021-04-04 a/Alex Yeoh a/Bernice Yu
, the
addTask command can be used as shown below:
- Key in the addTask command and its parameters
- Press enter and view the result of the addTask command
2. Delete Task: deleteTask
If a task is no longer relevant, you can delete the task along with its details from the list with the task index you specified.
Format: deleteTask INDEX
Examples:
deleteTask 1
3. View Tasks: viewTasks
Displays the list of tasks that you have added into HEY MATEz.
Format: viewTasks
Examples:
viewTasks
4. Edit Task: editTask
With ever-changing task requirements, you can edit an existing task at the task index specified with the new details you key in.
Format: editTask INDEX [n/NEW_TITLE] [d/NEW_DESCRIPTION] [b/NEW_DEADLINE] [s/NEW_STATUS] [p/NEW_PRIORITY] [a/NEW_ASSIGNEE]...
- Edits the task at the specified INDEX.
- At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- When editing assignees, the existing assignees of the task will be removed i.e adding of assignees is not cumulative.
Examples:
editTask 1 n/Plan meeting d/Plan board meeting
editTask 1 n/Plan meeting d/Plan board meeting b/2021-04-04
editTask 1 n/Plan meeting d/Plan board meeting b/2021-04-04 a/Samuel a/Christian
5. Mark Task as Completed: done
Upon completion of a task, you can change the status of a task with the task index you specify from uncompleted to completed.
Format: done INDEX
Examples:
done 1
6. Mark Task as Uncompleted: undo
Changes the status of a task with the task index you specify from completed to uncompleted.
Format: undo INDEX
Examples:
undo 1
7. Find Tasks by Keywords: findTasks
With so many tasks, you may want to find tasks quickly using some keywords. This feature allows you to find all tasks which contain any of the specified keywords in its TITLE or DESCRIPTION.
Format: findTasks KEYWORD [MORE_KEYWORDS]...
- KEYWORD must match an entire word in order for the particular task to be found.
- e.g.
Meeting
will not match withMeet
.
- e.g.
- The search using KEYWORD is case-insensitive.
- e.g.
Meeting
will match withmeeting
.
- e.g.
Examples:
findTasks Meeting
findTasks Meeting Proposal Draft
8. Find Tasks due before certain date: findBefore
With so many tasks that need to be completed at different times, you may want to find tasks which are due before a certain date. This feature allows you to find all tasks with deadlines before the date you have specified.
Format: findBefore DATE
YYYY-MM-DD
and be a valid date in the calendar.
Examples:
findBefore 2021-05-04
9. Find Tasks by Priority: findPriority
With so many tasks that are of different priority, this feature allows you to find all tasks containing the priority that you have specified.
- The valid input values for
findPriority
are high, medium, low and unassigned.
Format: findPriority PRIORITY
Examples:
findPriority high
10. Clear all Members Assigned to a Task: clearAssignees
If you have accidentally assigned a task to the wrong group of members, you can easily clear all members assigned to that task with the task index you specified.
Format: clearAssignees INDEX
Examples:
clearAssignees 2
11. View List of Unassigned Tasks: viewUnassignedTasks
In order to efficiently distribute tasks to members, you may want to view tasks which have yet to be assigned to any member. This feature allows you to view the list of unassigned tasks.
Format: viewUnassignedTasks
Examples:
viewUnassignedTasks
12. View List of Uncompleted Tasks: viewUncompletedTasks
In order to be on track with work, you may want to view tasks which have not been completed. This feature allows you to view the list of uncompleted tasks.
Format: viewUncompletedTasks
Examples:
viewUncompletedTasks
13. Find Tasks Assigned to a Single Member: findTasksFor
In order to manage members efficiently, you may want to track the tasks that are assigned to each member. This feature allows you to find all tasks assigned to a single member.
Format: findTasksFor NAME
- The search using NAME is case-sensitive.
- e.g.
David Li
will only match withDavid Li
.
- e.g.
- NAME must match an entire member’s name exactly in order for the tasks assigned to that member to be found.
- e.g.
David
will not match withDavid Li
- e.g.
Examples:
findTasksFor Alex Yeoh
findTasksFor Bernice Teo Hui Min
Data Storage
Saving the data
HEY MATEz 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
HEY MATEz data is saved as a JSON file [JAR file location]/data/heymatez.json
. Advanced users are welcome to update data directly by editing that data file.
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 HEY MATEz home folder.
Command summary
Action | Format, Examples |
---|---|
View Help | help |
Clear Data | clear |
Exit Program | exit |
Add Member |
addMember NAME p/PHONE_NUMBER e/EMAIL [r/ROLE] e.g., addMember Dylan p/64529356 e/dylan@gmail.com r/Member
|
Delete Member |
deleteMember NAME e.g., deleteMember Rachel
|
View Members |
viewMembers e.g., viewMembers
|
Edit Member |
editMember NAME [n/NEW_NAME] [p/NEW_PHONE_NUMBER] [e/NEW_EMAIL] [r/NEW_ROLE] e.g., editMember Alice e/newAlice@gmail.com r/Events head
|
Find Members by Keywords |
find KEYWORD [MORE_KEYWORDS]... e.g., findMembers Rachel 98562154 john@gmail.com
|
Add Task |
addTask TITLE d/DESCRIPTION b/DEADLINE [s/STATUS] [p/PRIORITY] [a/ASSIGNEE]... e.g., addTask CCA Timeline d/Plan semester's timeline b/2021-04-04 s/completed p/high a/Rachel
|
Delete Task |
deleteTask INDEX e.g., deleteTask 1
|
View Tasks |
viewTasks e.g., viewTasks
|
Edit Task |
editTask INDEX [n/NEW_TITLE] [d/NEW_DESCRIPTION] [b/NEW_DEADLINE] [s/NEW_STATUS] [p/NEW_PRIORITY] [a/NEW_ASSIGNEE]... e.g., editTask 1 n/Plan meeting d/Plan board meeting b/2021-04-04
|
Mark Task as Completed |
done INDEX e.g., done 1
|
Mark Task as Uncompleted |
undo INDEX e.g., undo 1
|
Find Tasks by Keywords |
findTasks KEYWORD [MORE_KEYWORDS]... e.g., findTasks Meeting Proposal Draft
|
Find Tasks by Deadline |
findBefore DATE e.g., findBefore 2021-04-05
|
Find Tasks by Priority |
findPriority PRIORITY e.g., findPriority high
|
Clear all Members Assigned to a Task |
clearAssignees INDEX e.g., clearAssignees 2
|
View Unassigned Tasks |
viewUnassignedTasks e.g., viewUnassignedTasks
|
View Uncompleted Tasks |
viewUncompletedTasks e.g., viewUncompletedTasks
|
Find Member’s Tasks |
findTasksFor NAME e.g., findTasksFor Alice Tay
|