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?

  1. 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.

  2. 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


Back to Table of Contents

Features

  1. Easy Contact Management:
    • CoordiMate seamlessly creates, updates, and deletes your contacts, ensuring that your contact list is always up-to-date.

  2. Effortless Task Management:
    • CoordiMate records your tasks and their completion status, allowing you to stay on top of your task list.

  3. Simplified Searching:
    • CoordiMate easily locates contacts or tasks based on your given criteria. No more scrolling through endless lists!

  4. Hassle-Free Data Management:
    • CoordiMate automatically saves your data on every change, so you never have to worry about losing your data.

Back to Table of Contents

Quick Start

  1. Ensure you have Java 11 or above installed on your computer.

  2. Download the latest CoordiMate.jar from here.

  3. 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.

  4. Open a command terminal.

  5. Change the directory to the folder where you have placed CoordiMate.jar. If it is in your Downloads folder, type the command below and press Enter :

     cd Downloads
    
  6. 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.

    Ui

  7. 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 named John Doe with the specified details.

    • deletePerson 3 : Deletes the 3rd person shown in the current contact list.

    • findTask caterer : Finds all tasks with the word caterer in their title or note.

    • listTask : Lists all tasks.

    • addTask T/Get Flowers n/for Finale Night : Adds a task titled Get Flowers with note for Finale Night to the task list.

    • markTask 1 : Marks the 1st task shown in the current task list as done.

    • exit : Exits the app.

  8. Refer to the Usage section below for details of each command.

Back to Table of Contents

Usage

The commands are split into 4 main sections:

  1. Commands to Manage Persons
  2. Commands to Manage Tasks
  3. Commands to Manage Tags
  4. General commands

Note

  • Words in UPPER_CASE are the fields to be supplied by the user.
    e.g. in addPerson n/NAME, NAME is a field which can be used as addPerson n/John Doe, where John Doe is the value of the field NAME.

  • Fields 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.
    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 as   (i.e. zero times), t/friend, t/friend t/family etc.

  • All fields except INDEX can be in any order.
    e.g. if the command specifies n/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 input n/ John Doe   will be interpreted as n/John Doe.

  • Extraneous fields for commands that do not take in fields (such as help, listPerson, deleteAllPerson, listTask, deleteAllTask and exit) will be ignored.
    e.g. if the command specifies help 123, it will be interpreted as help.

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.

Back to Table of Contents

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.


Back to Table of Contents

Understanding Our GUI

Ui

  1. Menu Bar: Quick access to File and Help features.
  2. Command Line: Type your commands here.
  3. Command Result: View command results or error messages through here.
  4. Contact List: View and manage contacts here.
  5. Task List: View and manage tasks here.
  6. 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.


Back to Table of Contents

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

    addPerson success

    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.

Back to Table of Contents

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

    listPerson success

    CoordiMate shows you the full contact list.

Back to Table of Contents

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.

Example:

  • editPerson 1 p/91234567 e/johndoe@example.com

    editPerson success

    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.

Back to Table of Contents

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 name Alexis.

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

    findPerson success with a list

    CoordiMate finds all persons whose names contains either alex or yu.

Potential Error:

Error message How to resolve
Invalid command format! … Ensure that a keyword is provided.

Back to Table of Contents

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 by deletePerson 2

    deletePerson_success_with_listPerson

    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.

Back to Table of Contents

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

    deleteAllPerson success

    CoordiMate deletes all persons in your contact list.


Back to Table of Contents

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 and NOTE. 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

    addTask_success

    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.

Back to Table of Contents

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

    listTask success

    CoordiMate shows you the full task list.

Back to Table of Contents

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 and NOTE. 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.

Example:

  • editTask 2 T/Book room n/By Friday t/orientation

    editTask_success

    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.

Back to Table of Contents

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 title Photography.

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

    findTask_success

    CoordiMate finds all tasks whose titles or notes contain either Find or Finale.

Potential Error:

Error message How to resolve
Invalid command format! … Ensure that a keyword is provided.

Back to Table of Contents

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 by deleteTask 2

    deleteTask_success

    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.

Back to Table of Contents

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

    deleteAllTask success

    CoordiMate deletes all tasks in the task list.

Back to Table of Contents

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 by markTask 1

    markTask_success

    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.

Back to Table of Contents

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 by unmarkTask 1

    unmarkTask_success

    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.

Back to Table of Contents

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

    findDone_success

    CoordiMate finds all tasks whose status is done.

Back to Table of Contents

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

    findNotDone_success

    CoordiMate finds all tasks whose status is not done.

Back to Table of Contents

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

    deleteAllDone_success

    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.

Back to Table of Contents

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

    addTagPerson success

    CoordiMate adds tag expensive to the 1st person, while friends 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.

Back to Table of Contents

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

    addTagTask success

    CoordiMate adds tag day2 to the 1st task, while day1 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.

Back to Table of Contents

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

Example:

  • listTag

    listTag success

    CoordiMate shows you the list of all tags used and their frequencies.

Back to Table of Contents

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 only foodcatering.

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

    findTag_success

    CoordiMate finds all persons and tasks matching any of Catering or Orientation tags.

Potential Error:

Error message How to resolve
Invalid command format! … Ensure that a keyword is provided.

Back to Table of Contents

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 only foodcatering.

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

    findAllTag_success

    CoordiMate finds persons and tasks matching all of Catering and Orientation in their tag(s).

Potential Error:

Error message How to resolve
Invalid command format! … Ensure that a keyword is provided.

Back to Table of Contents

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

    deleteTagPerson_success

    CoordiMate deletes EragonSounds and soundSystems tags from the 2nd person, and ignores the catering 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.

Back to Table of Contents

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

    deleteTagTask_success

    CoordiMate deletes finance and orientation tags from the 2nd task, and ignores the caterer 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.

Back to Table of Contents

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

    help message

    CoordiMate opens a new window with a link to the user guide.

Back to Table of Contents

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

    listAll success

    CoordiMate shows all the persons and tasks in your contact list and task list.

Back to Table of Contents

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




Back to Table of Contents

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!




Back to Table of Contents

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.




Back to Table of Contents

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.




Back to Table of Contents

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)




Back to Table of Contents

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

Back to Table of Contents

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

Back to Table of Contents

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

Back to Table of Contents

General

Action Format Example Alias
View Help help help h
List All Person and Task listAll listAll la
Exit exit exit e