User Guide
Are you a School of Computing (SoC) Computing Club event planner juggling numerous tasks and contacts for your upcoming events?
Managing everything efficiently just got easier with CoordiMate!
CoordiMate is your go-to desktop app designed specifically for SoC Computing Club event planners. It helps you manage your contacts and tasks for your events, so that you can focus on the event itself.
And here’s the best part – while it’s perfect for members of SoC Computing Club, event planners of all kinds can benefit from CoordiMate’s powerful features too!
Why choose CoordiMate?
-
User-Friendly Command Line Interface (CLI): CoordiMate is optimized for use via a CLI, combining all the benefits of a Graphical User Interface (GUI) with the efficiency of a CLI.
-
Speedy Navigation: If you’re a fast typist, CoordiMate will help you manage your contacts and tasks faster than traditional GUI apps, maximising your productivity.
Don’t let the stress of contact and task management hinder your creativity.
Let CoordiMate take care of the details, while you craft extraordinary events with confidence.
Using This Guide
This document will guide you on the various features of CoordiMate and how to use them.
If you are a new user, we recommend that you read this guide starting from the Quick Start section.
If you are an experienced user, you can use the Table of Contents below to quickly locate the relevant section. Alternatively, you can jump to the Command Summary section for an overview of the command syntax.
Here are some annotations used in this guide:
Warning
Take note of these as they can cause unexpected behaviour or data loss when using CoordiMate.
Note
Contains useful information to help you use CoordiMate better.
Question
Answers to frequently asked questions about CoordiMate.
Known Issue
Known issues that you may face when using CoordiMate and how to resolve them.
Throughout this guide, you will see different text styles that are used to highlight important information.
- Text in blue are links which you can click on to jump to the relevant section.
Text with background
are commands or file names which are used for CoordiMate.- Text in buttons are keys that you press on your keyboard.
Table of Contents
- Using This Guide
- Table of Contents
- Features
- Quick Start
- Usage
- Command Aliases
- Understanding Our GUI
- 1. Commands to Manage Persons
- 2. Commands to Manage Tasks
- 2.1. Adding a task:
addTask
- 2.2. Listing all tasks:
listTask
- 2.3. Editing a task:
editTask
- 2.4. Finding a specific task:
findTask
- 2.5. Deleting a task entry:
deleteTask
- 2.6. Deleting all task entries:
deleteAllTask
- 2.7. Marking a task as done:
markTask
- 2.8. Marking a task as not done:
unmarkTask
- 2.9. Finding all tasks that are done:
findDone
- 2.10. Finding all tasks that are not done:
findNotDone
- 2.11. Deleting all tasks that are done:
deleteAllDone
- 2.1. Adding a task:
- 3. Commands to Manage Tags
- 3.1. Adding tag(s) to a person:
addTagPerson
- 3.2. Adding tag(s) to a task:
addTagTask
- 3.3. Listing all tags:
listTag
- 3.4. Finding persons and tasks with any matching tag(s):
findTag
- 3.5. Finding persons and tasks with all matching tag(s):
findAllTag
- 3.6. Deleting tag(s) from a person:
deleteTagPerson
- 3.7. Deleting tag(s) from a task:
deleteTagTask
- 3.1. Adding tag(s) to a person:
- 4. General Commands
- Editing CoordiMate’s Data
- Frequently Asked Questions (FAQ)
- Glossary
- Known Issues
- Command Summary
Features
- Easy Contact Management:
- CoordiMate seamlessly creates, updates, and deletes your contacts, ensuring that your contact list is always up-to-date.
- CoordiMate seamlessly creates, updates, and deletes your contacts, ensuring that your contact list is always up-to-date.
- Effortless Task Management:
- CoordiMate records your tasks and their completion status, allowing you to stay on top of your task list.
- CoordiMate records your tasks and their completion status, allowing you to stay on top of your task list.
- Simplified Searching:
- CoordiMate easily locates contacts or tasks based on your given criteria. No more scrolling through endless lists!
- CoordiMate easily locates contacts or tasks based on your given criteria. No more scrolling through endless lists!
- Hassle-Free Data Management:
- CoordiMate automatically saves your data on every change, so you never have to worry about losing your data.
Quick Start
-
Ensure you have Java
11
or above installed on your computer. -
Download the latest
CoordiMate.jar
from here. -
Copy
CoordiMate.jar
to the folder you want to use as the home folder for CoordiMate. This folder will be used by CoordiMate to store its data. -
Open a command terminal.
- Change the directory to the folder where you have placed
CoordiMate.jar
. If it is in yourDownloads
folder, type the command below and press Enter :
cd Downloads
- To launch CoordiMate, type the following command and press Enter :
java -jar CoordiMate.jar
After a few seconds, a GUI should appear, showing some sample data, as in the screenshot below.
-
Type the command in the command line and press Enter to execute it. e.g. typing
help
and pressing Enter will open the help window.Some example commands you can try:
-
listPerson
: Lists all persons. -
addPerson n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
: Adds a new person namedJohn Doe
with the specified details. -
deletePerson 3
: Deletes the 3rd person shown in the current contact list. -
findTask caterer
: Finds all tasks with the wordcaterer
in their title or note. -
listTask
: Lists all tasks. -
addTask T/Get Flowers n/for Finale Night
: Adds a task titledGet Flowers
with notefor Finale Night
to the task list. -
markTask 1
: Marks the 1st task shown in the current task list as done. -
exit
: Exits the app.
-
- Refer to the Usage section below for details of each command.
Usage
The commands are split into 4 main sections:
Note
-
Words in
UPPER_CASE
are the fields to be supplied by the user.
e.g. inaddPerson n/NAME
,NAME
is a field which can be used asaddPerson n/John Doe
, whereJohn Doe
is the value of the fieldNAME
.
-
Fields in square brackets are optional.
e.gn/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
.
Note that the square brackets ([
and]
) are not part of the syntax. -
Fields in square brackets with
…
after them can be used multiple times, including zero times.
e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
All fields except
INDEX
can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable. -
Whitespaces at the start and end of fields are trimmed.
e.g. The inputn/ John Doe
will be interpreted asn/John Doe
. -
Extraneous fields for commands that do not take in fields (such as
help
,listPerson
,deleteAllPerson
,listTask
,deleteAllTask
andexit
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
.
Warning
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.
Command Aliases
CoordiMate supports predefined aliases for commands, so that you can get things done faster!
Example 1: Adding a person
Instead of typing:
addPerson n/John Doe p/12345678 e/john@example.com a/1 John Street t/friend
you can simply type:
ap n/John Doe p/12345678 e/john@example.com a/1 John Street t/friend
Both commands will add a person named John Doe
with phone number 12345678
, email john@example.com
, address 1 John Street
, and tag friend
to your contact list.
Example 2: Listing all persons
Instead of typing:
listPerson
you can simply type:
lp
Both commands will show a full list of all the persons in your contact list.
A summary of valid aliases is shown in the Command Summary section below.
Understanding Our GUI
- Menu Bar: Quick access to File and Help features.
- Command Line: Type your commands here.
- Command Result: View command results or error messages through here.
- Contact List: View and manage contacts here.
- Task List: View and manage tasks here.
- Data Storage: Displays the path where your data is stored.
Note
Here's a handy trick – you can easily resize sections like Command Result, Contact List, and Task List. Just drag the dividers to customize the view according to your preferences.
1. Commands to Manage Persons
1.1. Adding a person: addPerson
You can add new persons to your contact list, so that you can remember details of new people you meet.
Format:
addPerson n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
Alias:
ap
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
NAME |
n/ |
Full name of the person. The name should only contain alphanumeric characters and spaces. | |
PHONE_NUMBER |
p/ |
Phone number of the person. The number should only contain numbers, and it should be at least 3 digits long. | |
EMAIL |
e/ |
Email of the person. The email should match this format: <local>@<domain>.<label> . The <local> part should only contain alphanumberic characters and these special characters: +_.- . The <domain> and <label> parts should contain only alphanumberic characters. |
|
ADDRESS |
a/ |
Physical address of the person. | |
TAG |
t/ |
Tag(s) for the person. Tags should only contain alphanumeric characters. |
- A person is uniquely identified by their
NAME
. This field is case sensitive. - You may add multiple tags to a person by specifying the
t/
prefix multiple times.
Example:
-
addPerson n/Xavier p/98712309 e/xavierd@example.com a/311, Dover Ave 2, #03-25 t/Microsoft t/guestSpeaker
CoordiMate adds a new person with the corresponding details.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the name, phone number, email address and address are specified. |
Names should only contain alphanumeric characters and spaces, and it should not be blank |
Ensure that the name specified is not blank and contain only alphanumeric characters. |
Phone numbers should only contain numbers, and it should be at least 3 digits long |
Ensure that the phone number specified is not blank, contain only numbers and at least 3 digits long. |
Addresses can take any values, and it should not be blank |
Ensure that the address specified is not blank. |
Emails should be of the format local-part@domain and adhere to the following constraints: … |
Ensure that the email specified is not blank and adheres to the constraints specified. |
Tags names should be alphanumeric |
Ensure that the tags specified are alphanumeric. |
This person already exists in the address book |
Ensure that the new name specified does not match an existing person. |
Multiple values specified for the following single-valued field(s): … |
Ensure that there are no duplicate fields for name, email, address and phone number. |
1.2. Listing all persons: listPerson
You can view your entire contact list, so that you can quickly access and manage your connections.
Format:
listPerson
Alias:
lp
Example:
-
listPerson
CoordiMate shows you the full contact list.
1.3. Editing a person: editPerson
You can change the details of an existing person in your contact list, so that you can keep information in your contact list constantly up-to-date.
Format:
editPerson INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
Alias:
ep
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The person at this index in the displayed contact list is edited. The index must be a positive integer (i.e. 1, 2, 3, … , 2147483647). | |
NAME |
n/ |
Full name of the person. The name should only contain alphanumeric characters and spaces. | |
PHONE_NUMBER |
p/ |
Phone number of the person. The number should only contain numbers, and it should be at least 3 digits long. | |
EMAIL |
e/ |
Email of the person. The email should match this format: <local>@<domain>.<label> . The <local> part should only contain alphanumberic characters and these special characters: +_.- . The <domain> and <label> parts should contain only alphanumberic characters. |
|
ADDRESS |
a/ |
Physical address of the person. | |
TAG |
t/ |
Tag(s) for the person. Tags should only contain alphanumeric characters. |
- At least one of the optional fields must be provided for the command to be valid.
- Fields that are not specified will preserve their existing values.
- A person is uniquely identified by their
NAME
. This field is case sensitive. - You may edit the person to have multiple tags by specifying the
t/
prefix multiple times. - If you specify at least one tag with this command, all old tags will be replaced.
- If you wish to add to the existing tags of the person, use the
addTagPerson
command instead. - If you wish to delete an existing tag of the person, use the
deleteTagPerson
command instead. - Specifying
t/
without any tags will clear all existing tags of the person.
- If you wish to add to the existing tags of the person, use the
Example:
-
editPerson 1 p/91234567 e/johndoe@example.com
CoordiMate edits the phone number and email of the 1st person in the contact list.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index is correctly specified as an integer. |
At least one field to edit must be provided. |
Ensure that at least one of name, phone, email, address or tag is specified. |
The person index provided is invalid |
Ensure that the index provided is within the valid range. |
Names should only contain alphanumeric characters and spaces, and it should not be blank |
Ensure that the name specified is not blank and contain only alphanumeric characters. |
Phone numbers should only contain numbers, and it should be at least 3 digits long |
Ensure that the phone number specified is not blank, contain only numbers and at least 3 digits long. |
Addresses can take any values, and it should not be blank |
Ensure that the address specified is not blank. |
Emails should be of the format local-part@domain and adhere to the following constraints: … |
Ensure that the email specified is not blank and adheres to the constraints specified. |
Tags names should be alphanumeric |
Ensure that the tags specified are alphanumeric. |
This person already exists in the address book. |
Ensure that the new name specified does not match an existing person. |
Multiple values specified for the following single-valued field(s): … |
Ensure that there are no duplicate fields for name, email, address and phone number. |
1.4. Finding a specific person: findPerson
You can find a person by their name, so that you can quickly locate their contact details.
Format:
findPerson KEYWORD [MORE_KEYWORDS]…
Alias:
fp
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
KEYWORD |
No prefix | Keyword to search for. | |
MORE_KEYWORDS |
No prefix | Additional keywords to search for. |
- Persons matching at least one
KEYWORD
in their names will be shown. This field is case insensitive and the order of keywords does not matter. - Only full words will be matched, e.g. the keyword
Alex
will not match the nameAlexis
.
Note
This command hides all persons that do not match the search criteria.
(i.e. If no persons match the search criteria, the list will be empty.)
To reset the persons view, simply run the listPerson
command to list all persons.
Example:
-
findPerson alex yu
CoordiMate finds all persons whose names contains either alex
oryu
.
Potential Error:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that a keyword is provided. |
1.5. Deleting a person entry: deletePerson
You can remove a person from your contact list, so that you can remove contacts that you no longer need.
Format:
deletePerson INDEX
Alias:
dp
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The person at this index in the displayed contact list is deleted. The index must be a positive integer (i.e. 1, 2, 3, … , 2147483647). |
Warning
This person will be removed from your contact list immediately. This action is irreversible.
Example:
-
listPerson
followed bydeletePerson 2
CoordiMate deletes the 2nd person who was previously Bernice Yu
.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index is correctly specified as an integer. |
The person index provided is invalid |
Ensure that the index provided is within the valid range. |
1.6. Deleting all person entries: deleteAllPerson
You can remove all persons in your contact list, so that you can restart easily with a clean slate and an empty contact list.
Format:
deleteAllPerson
Alias:
dap
Warning
All persons will be removed from your contact list immediately. This action is irreversible.
Example:
-
deleteAllPerson
CoordiMate deletes all persons in your contact list.
2. Commands to Manage Tasks
2.1. Adding a task: addTask
You can add new tasks to your task list, so that you can keep track of important things to do.
Format:
addTask T/TITLE n/NOTE [t/TAG]…
Alias:
at
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
TITLE |
T/ |
Title describing the task. | |
NOTE |
n/ |
Note providing details about the task. | |
TAG |
t/ |
Tag(s) for the task. Tags should only contain alphanumeric characters. |
- A task is uniquely identified by the combination of its
TITLE
andNOTE
. These fields are case sensitive. - You may add multiple tags to a task by specifying the
t/
prefix multiple times.
Example:
-
addTask T/Book rooms n/For day 2 t/orientation t/bookings
CoordiMate adds a new task with the corresponding details.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the title and note are specified. |
Titles/Notes can take any value, as long as it is not blank and does not start with a whitespace |
Ensure that the title and note specified are not blank. |
Tags names should be alphanumeric |
Ensure that the tags specified are alphanumeric. |
This task already exists in the address book |
Ensure that the new title and note specified do not match an existing task. |
Multiple values specified for the following single-valued field(s): … |
Ensure that there are no duplicate fields for title and note. |
2.2. Listing all tasks: listTask
You can view your entire task list, so that you can stay organized and on top of your responsibilities.
Format:
listTask
Alias:
lt
Example:
-
listTask
CoordiMate shows you the full task list.
2.3. Editing a task: editTask
You can change the details of an existing task in your task list, so that you can ensure your task details are up-to-date with the latest information.
Format:
editTask INDEX [T/TITLE] [n/NOTE] [t/TAG]…
Alias:
et
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The task at this index in the displayed task list is edited. The index must be a positive integer (i.e. 1, 2, 3, … , 2147483647). | |
TITLE |
T/ |
Title describing the task. | |
NOTE |
n/ |
Note providing details about the task. | |
TAG |
t/ |
Tag(s) for the task. Tags should only contain alphanumeric characters. |
- At least one of the optional fields must be provided for the command to be valid.
- Fields that are not specified will preserve their existing values.
- A task is uniquely identified by the combination of its
TITLE
andNOTE
. These fields are case sensitive. - You may edit the task to have multiple tags by specifying the
t/
prefix multiple times. - If you specify at least one tag with this command, all old tags will be replaced.
- If you wish to add to the existing tags of the task, use the
addTagTask
command instead. - If you wish to delete an existing tag of the task, use the
deleteTagTask
command instead. - Specifying
t/
without any tags will clear all existing tags of the task.
- If you wish to add to the existing tags of the task, use the
Example:
-
editTask 2 T/Book room n/By Friday t/orientation
CoordiMate edits the title, note, and tags of the 2nd task in the task list.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index is correctly specified as an integer. |
At least one field to edit must be provided. |
Ensure that at least one of title, note, or tag is specified. |
Titles/Notes can take any value, as long as it is not blank and does not start with a whitespace |
Ensure that the title and/or note specified are not blank. |
Tags names should be alphanumeric |
Ensure that the tags specified are alphanumeric. |
This task already exists in the address book. |
Ensure that the new title and note specified do not match an existing task. |
Multiple values specified for the following single-valued field(s): … |
Ensure that there are no duplicate fields for title and note. |
2.4. Finding a specific task: findTask
You can find a task by their title or note, so that you can quickly locate a specific task.
Format:
findTask KEYWORD [MORE_KEYWORDS]…
Alias:
ft
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
KEYWORD |
No prefix | Keyword to search for. | |
MORE_KEYWORDS |
No prefix | Additional keywords to search for. |
- Tasks matching at least one
KEYWORD
in their title or note will be shown. This field is case insensitive and the order of keywords does not matter. - Only full words will be matched, e.g. the keyword
Photo
will not match the titlePhotography
.
Note
This command hides all tasks that do not match the search criteria.
(i.e. If no tasks match the search criteria, the list will be empty.)
To reset the tasks view, simply run the listTask
command to list all tasks.
Example:
-
findTask Find Finale
CoordiMate finds all tasks whose titles or notes contain either Find
orFinale
.
Potential Error:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that a keyword is provided. |
2.5. Deleting a task entry: deleteTask
You can remove a task from your task list, so that you can remove tasks that you no longer need.
Format:
deleteTask INDEX
Alias:
dt
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The task at this index in the displayed task list is deleted. The index must be a positive integer (i.e. 1, 2, 3, … , 2147483647). |
Warning
The task will be removed from your task list immediately. This action is irreversible.
Example:
-
listTask
followed bydeleteTask 2
CoordiMate deletes the 2nd task which was previously Create budget
.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index is correctly specified as an integer. |
The task index provided is invalid |
Ensure that the index provided is within the valid range. |
2.6. Deleting all task entries: deleteAllTask
You can remove all tasks from your task list, so that you can restart easily with a clean slate and an empty task list.
Format:
deleteAllTask
Alias:
dat
Warning
All tasks will be removed from your task list immediately. This action is irreversible.
Example:
-
deleteAllTask
CoordiMate deletes all tasks in the task list.
2.7. Marking a task as done: markTask
You can indicate a specific task as completed, so that you can keep track of task progress and identify tasks that are done.
Format:
markTask INDEX
Alias:
mt
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The task at this index in the displayed task list is marked as done. The index must be a positive integer (i.e. 1, 2, 3, … , 2147483647). |
- Tasks are marked as not done by default.
Example:
-
listTask
followed bymarkTask 1
CoordiMate marks the 1st task in the task list as done.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index is correctly specified as an integer. |
The task index provided is invalid |
Ensure that the index provided is within the valid range. |
This task is already marked as done in the task list. |
Ensure that the specified task is not already marked as done in the task list. |
2.8. Marking a task as not done: unmarkTask
You can indicate a specific task as not completed, so that you can keep track of task progress and identify tasks that are pending further action or completion.
Format:
unmarkTask INDEX
Alias:
ut
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The task at this index in the displayed task list is marked as not done. The index must be a positive integer (i.e. 1, 2, 3, … , 2147483647). |
- Tasks are marked as not done by default.
Example:
-
listTask
followed byunmarkTask 1
CoordiMate marks the 1st task in the task list as not done.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index is correctly specified as an integer. |
The task index provided is invalid |
Ensure that the index provided is within the valid range. |
This task is already marked as not done in the task list. |
Ensure that the specified task is not already marked as not done in the task list. |
2.9. Finding all tasks that are done: findDone
You can filter the task list to locate all completed tasks, so that you can keep track of the number of completed tasks with ease.
Format:
findDone
Alias:
fd
Note
This command hides all tasks that are not done.
(i.e. If no tasks are not done, the list will be empty.)
To reset the tasks view, simply run the listTask
command to list all tasks.
Example:
-
findDone
CoordiMate finds all tasks whose status is done.
2.10. Finding all tasks that are not done: findNotDone
You can filter the task list to locate all not completed tasks, so that you can keep track of the number of not completed tasks with ease.
Format:
findNotDone
Alias:
fnd
Note
This command hides all tasks that are done.
(i.e. If no tasks are done, the list will be empty.)
To reset the tasks view, simply run the listTask
command to list all tasks.
Example:
-
findNotDone
CoordiMate finds all tasks whose status is not done.
2.11. Deleting all tasks that are done: deleteAllDone
You can remove all completed tasks in the task list, so that you can focus on not completed tasks and maintain an organized and clutter-free task list.
Format:
deleteAllDone
Alias:
dad
- After completing the deletion of completed tasks, the task list will automatically revert back to displaying all tasks, ensuring you have a comprehensive overview of your remaining tasks.
Warning
All completed tasks will be removed from your task list immediately. This action is irreversible.
Example:
-
deleteAllDone
CoordiMate deletes all tasks whose status is done.
Potential Error:
Error message | How to resolve |
---|---|
No Done tasks found in task list |
Ensure that there are tasks marked as done in your task list. |
3. Commands to Manage Tags
3.1. Adding tag(s) to a person: addTagPerson
You can add tag(s) to a person, so that you can better organise your contact list.
Format:
addTagPerson INDEX t/TAG [t/MORE_TAGS]…
Alias:
atagp
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The person at this index in the displayed contact list is edited. The index must be a positive integer 1, 2, 3, … , 2147483647. | |
TAG |
t/ |
The tag to be added to the person. Tags should only contain alphanumeric characters. | |
MORE_TAGS |
t/ |
Additional tag(s) to be added to the person. Tags should only contain alphanumeric characters. |
- A tag is uniquely identified by the
TAG
. This field is case sensitive. - You may add multiple tags to a person by specifying the
t/
prefix multiple times.
Example:
-
addTagPerson 1 t/friends t/expensive
CoordiMate adds tag expensive
to the 1st person, whilefriends
is not added because it already exists in the list of tags.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index and tag are both specified. The index should be correctly specified as an integer. |
The person index provided is invalid |
Ensure that the index provided is within the valid range. |
Tags names should be alphanumeric |
Ensure that the tags specified are alphanumeric. |
3.2. Adding tag(s) to a task: addTagTask
You can add tag(s) to a task, so that you can better organise your task list.
Format:
addTagTask INDEX t/TAG [t/MORE_TAGS]…
Alias:
atagt
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The task at this index in the displayed task list is edited. The index must be a positive integer 1, 2, 3, … , 2147483647. | |
TAG |
t/ |
The tag to be added to the task. Tags should only contain alphanumeric characters. | |
MORE_TAGS |
t/ |
Additional tag(s) to be added to the task. Tags should only contain alphanumeric characters. |
- A tag is uniquely identified by the
TAG
. This field is case sensitive. - You may add multiple tags to a task by specifying the
t/
prefix multiple times.
Example:
-
addTagTask 1 t/day1 t/day2
CoordiMate adds tag day2
to the 1st task, whileday1
is not added because it already exists in the list of tags.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index and tag are both specified. The index should be correctly specified as an integer. |
The task index provided is invalid |
Ensure that the index provided is within the valid range. |
Tags names should be alphanumeric |
Ensure that the tags specified are alphanumeric. |
3.3. Listing all tags: listTag
You can view the tags in your contact list and task list, along with their frequencies, so that you can keep track of the tags you have used.
Format:
listTag
Alias:
ltag
-
The list is sorted by frequency of each tag in descending order.
-
If two tags have the same frequency, the tags are sorted in the order as defined in the American Standard Code for Information Interchange (ASCII).
Example:
-
listTag
CoordiMate shows you the list of all tags used and their frequencies.
3.4. Finding persons and tasks with any matching tag(s): findTag
You can extend your search with keywords, so that you can locate any person or task with at least one matching tag.
Format:
findTag KEYWORD [MORE_KEYWORDS]…
Alias:
ftag
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
KEYWORD |
No prefix | Keyword to search for tags. | |
MORE_KEYWORDS |
No prefix | Additional keyword(s) to search for tags. |
- Persons and tasks matching at least one of
KEYWORD
in their tag(s) will be returned (i.e. OR search). This field is case insensitive and the order of keywords does not matter. - Only full words will be matched, e.g.
findTag catering
will not match persons and tasks which tag(s) contain onlyfoodcatering
.
Note
This command hides all persons and tasks that do not match the search criteria.
(i.e. If no persons or tasks match the search criteria, the list will be empty.)
To reset the persons and tasks view, simply run the listAll
command to list all persons and tasks.
Example:
-
findTag Catering Orientation
CoordiMate finds all persons and tasks matching any of Catering
orOrientation
tags.
Potential Error:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that a keyword is provided. |
3.5. Finding persons and tasks with all matching tag(s): findAllTag
You can narrow your search using multiple keywords, so that you can find only those contacts and tasks that include every tag you need.
Format:
findAllTag KEYWORD [MORE_KEYWORDS]…
Alias:
fatag
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
KEYWORD |
No prefix | Keyword to search for tags. | |
MORE_KEYWORDS |
No prefix | Additional keyword(s) to search for tags. |
- Persons and tasks matching all
KEYWORD
in their tag(s) will be returned (i.e. AND search). This field is case insensitive and the order of keywords does not matter. - Only full words will be matched, e.g.
findAllTag catering
will not match persons and tasks which tag(s) contain onlyfoodcatering
.
Note
This command hides all persons and tasks that do not match the search criteria.
(i.e. If no persons or tasks match the search criteria, the list will be empty.)
To reset the persons and tasks view, simply run the listAll
command to list all persons and tasks.
Example:
-
findAllTag Catering Orientation
CoordiMate finds persons and tasks matching all of Catering
andOrientation
in their tag(s).
Potential Error:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that a keyword is provided. |
3.6. Deleting tag(s) from a person: deleteTagPerson
You can delete tag(s) from a person in your contact list, so that you can remove unwanted or irrelevant tags.
Format:
deleteTagPerson INDEX t/TAG [t/MORE_TAGS]…
Alias:
dtagp
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The person at this index in the displayed contact list is edited. The index must be a positive integer (i.e. 1, 2, 3, … , 2147483647). | |
TAG |
t/ |
Tag to be deleted from the person. Tags should only contain alphanumeric characters. | |
MORE_TAGS |
t/ |
Additional tag(s) to be deleted from the person. Tags should only contain alphanumeric characters. |
- You may delete multiple tags from a person by specifying the
t/
prefix multiple times. - Tags that do not belong to the person will be ignored.
Example:
-
deleteTagPerson 2 t/EragonSounds t/soundSystems t/catering
CoordiMate deletes EragonSounds
andsoundSystems
tags from the 2nd person, and ignores thecatering
tag.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index is correctly specified as an integer. At least one tag must be specified. |
The person index provided is invalid |
Ensure that the index specified is in the range of the displayed number of persons. |
Tags names should be alphanumeric |
Ensure that the tags specified are alphanumeric. |
3.7. Deleting tag(s) from a task: deleteTagTask
You can delete tag(s) from a task in your task list, so that you can remove unwanted or irrelevant tags.
Format:
deleteTagTask INDEX t/TAG [t/MORE_TAGS]…
Alias:
dtagt
Fields:
Fields | Prefix | Required | Remarks |
---|---|---|---|
INDEX |
No prefix | The task at this index in the displayed task list is edited. The index must be a positive integer (i.e. 1, 2, 3, … , 2147483647). | |
TAG |
t/ |
Tag to be deleted from the task. Tags should only contain alphanumeric characters. | |
MORE_TAGS |
t/ |
Additional tag(s) to be deleted from the task. Tags should only contain alphanumeric characters. |
- You may delete multiple tags from a task by specifying the
t/
prefix multiple times. - Tags that do not belong to the task will be ignored.
Example:
-
deleteTagTask 2 t/finance t/orientation t/caterer
CoordiMate deletes finance
andorientation
tags from the 2nd task, and ignores thecaterer
tag.
Potential Errors:
Error message | How to resolve |
---|---|
Invalid command format! … |
Ensure that the index is correctly specified as an integer. At least one tag must be specified. |
The task index provided is invalid |
Ensure that the index specified is in the range of the displayed number of tasks. |
Tags names should be alphanumeric |
Ensure that the tags specified are alphanumeric. |
4. General Commands
4.1. Viewing help: help
You can view a link to access the user guide at any time, so that you can refer to documentation to understand the existing features.
Format:
help
Alias:
h
Example:
-
help
CoordiMate opens a new window with a link to the user guide.
4.2. Listing all persons and tasks: listAll
You can list all persons and tasks in your contact list and task list at the same time.
Format:
listAll
Alias:
la
Example:
-
listAll
CoordiMate shows all the persons and tasks in your contact list and task list.
4.3. Exiting the program: exit
You can exit the application, so that you can close the application window and stop the program.
Format:
exit
Alias:
e
Example:
exit
Editing CoordiMate’s Data
CoordiMate’s data is stored on your computer as a file located at [JAR file location]/data/addressbook.json
.
Advanced users can edit this file directly to make changes to the data stored by CoordiMate.
After editing the data file, you can restart CoordiMate to see the changes reflected in the application.
Warning
If your changes to the data file makes its format invalid, CoordiMate will not be able to load the data file, resulting in the contact and task lists being empty.
Always make a backup before you edit!
Frequently Asked Questions (FAQ)
Question
Q: How do I backup/restore my data?
A: To make a backup:
1. Locate the data file at [CoordiMate JAR file location]/data/addressbook.json
on your current computer.
2. Copy the data file to a safe location.
To restore from a backup data file:
1. Copy the data file to [CoordiMate JAR file location]/data/addressbook.json
.
2. Launch CoordiMate, and your data will be automatically imported.
Glossary
Alphanumeric
A combination of letters and numbers only, no spaces or special characters.
Example: For tags, entries like day1
or day2
are valid, while entries like day 1
or day-2
are invalid.
For more information, see Alphanumericals on Wikipedia.
American Standard Code for Information Interchange (ASCII)
The American Standard Code for Information Interchange (ASCII) is a character encoding standard that is well understood by computers.
In ASCII ordering, uppercase letters come before lowercase letters (A
comes before a
), unlike in alphabetical ordering where case does not matter.
Example: After a listTag
command, Finale
tag is listed before finale
in the command result.
For more information, see ASCII on Wikipedia.
Command Line Interface
A text-based interface used to interact with a computer or software by entering commands into a terminal or command prompt.
Example: In order to delete a task, user types deleteTask 1
and pressing Enter. The task specified is deleted.
For more information on CoordiMate’s commands, read more about it here.
Graphical User Interface
A visual interface that allows users to interact with software using graphical elements like icons and windows, making it more user-friendly.
Example: After listAll
command, users can scroll the contact list and task list to view information in both lists and see different icons for done and not done tasks respectively.
For more information on CoordiMate’s GUI, read more about it here.
Index
The position of an item in a list, starting from 1. The index must be a positive integer.
Example: If you have a list with the letters (“a”, “b”, “c”) in order,
- Index 1 refers to “a”
- Index 2 refers to “b”
- Index 3 refers to “c”
Integer
A whole number without fractions or decimals. The valid range of integers is a whole number between -2147483648 and 2147483647, both inclusive.
Example: -1, 0, 1, 2, 3, 2147483647 are all valid integers.
Known Issues
Known Issue
Issue: CoordiMate does not open on the correct screen.
Workaround: To resolve this issue, you can simply delete the preferences.json
file that is in the same folder as the CoordiMate JAR file.
Known Issue
Issue: The application becomes laggy after I enter a very long string.
Workaround: As a workaround, we recommend that you keep inputs (such as a person's name or a task's title) to less than 200 characters each.
Known Issue
Issue: I am unable to input a name that contains special characters (e.g. Ravi s/o Veegan
).
Workaround: As a workaround, we suggest that you omit the special characters in the name. (e.g. Ravi so Veegan
)
Command Summary
Managing Persons
Action | Format | Example | Alias |
---|---|---|---|
Add Person | addPerson n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]… |
addPerson n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 |
ap |
List All Person | listPerson |
listPerson |
lp |
Edit Person | editPerson INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]… |
editPerson 1 p/91234567 e/johndoe@example.com |
ep |
Find Person | findPerson KEYWORD [MORE_KEYWORDS]… |
findPerson John |
fp |
Delete Person | deletePerson INDEX |
deletePerson 1 |
dp |
Delete All Person | deleteAllPerson |
deleteAllPerson |
dap |
Managing Tasks
Action | Format | Example | Alias |
---|---|---|---|
Add Task | addTask T/TITLE n/NOTE [t/TAG] |
addTask T/Get Flowers n/Wedding Anniversary |
at |
List All Task | listTask |
listTask |
lt |
Edit Task | editTask INDEX [T/TITLE] [n/NOTE] [t/TAG] |
editTask 1 T/Call Caterer n/Wedding Dinner |
et |
Find Task | findTask KEYWORD [MORE_KEYWORDS]… |
findTask Call Wedding |
ft |
Delete Task | deleteTask INDEX |
deleteTask 1 |
dt |
Delete All Task | deleteAllTask |
deleteAllTask |
dat |
Mark Task | markTask INDEX |
markTask 1 |
mt |
Unmark Task | unmarkTask INDEX |
unmarkTask 1 |
ut |
Find Done Task | findDone |
findDone |
fd |
Find Not Done Task | findNotDone |
findNotDone |
fnd |
Delete All Done Task | deleteAllDone |
deleteAllDone |
dad |
Managing Tags
Action | Format | Example | Alias |
---|---|---|---|
Add Tag(s) to a Person | addTagPerson INDEX [t/TAG]… |
addTagPerson 1 t/friends |
atagp |
Add Tag(s) to a Task | addTagTask INDEX [t/TAG]… |
addTagTask 1 t/day1 |
atagt |
List All Tags | listTag |
listTag |
ltag |
Find Tags | findTag KEYWORD [MORE_KEYWORDS]… |
findTag orientation |
ftag |
Find All Tags | findAllTag KEYWORD [MORE_KEYWORDS]… |
findAllTag orientation |
fatag |
Delete Tag(s) from Person | deleteTagPerson INDEX t/TAG [t/MORE_TAGS]… |
deleteTagPerson 1 t/catering |
dtagp |
Delete Tag(s) from Task | deleteTagTask INDEX t/TAG [t/MORE_TAGS]… |
deleteTagTask 1 t/catering |
dtagt |
General
Action | Format | Example | Alias |
---|---|---|---|
View Help | help |
help |
h |
List All Person and Task | listAll |
listAll |
la |
Exit | exit |
exit |
e |