layout | title |
---|---|
page |
User Guide |
Dash is a personal planner app which offers unparalleled speed using text-based input. It supports both management of tasks and contacts. Dash is tailored to the needs of university students, who must keep track of a slew of different deadlines and commitments. So long as you're a fast typist, Dash provides a blisteringly quick way to stay on top of your responsibilities using your keyboard.
This guide was written to help you set up and start using Dash. You can navigate by clicking the table of contents below. If you're a new user, the Quick Start guide has all you need to get started. If you're an intermediate user looking to get more out of Dash, all supported commands are listed below.
- Table of Contents {:toc}
Whether you're using Windows or macOS, the steps for installation are the same.
-
Ensure you have Java
11
or above installed in your Computer. Not sure what Java is? Click here! -
Download the latest
dash.jar
from here. -
Copy the file to the folder you want to use as the home folder for Dash, which is where your data is stored.
π‘ We suggest creating a folder called "Dash" and putting the dash.jar
file inside it. You can place this
folder wherever you want. Next, we recommend that you create a shortcut for Dash by right-clicking on the dash.jar
file. On Windows, click on the Create Shortcut
option while on macOS, click on Make Alias
. You can then put this
shortcut in a convenient place (such as your Desktop) for easy access.
-
Double-click the file to start the app. Here's what you should see in a few seconds:
-
That's all you need to do for the setup. To get started writing commands, refer to the Getting Started section below.
- Go to the Getting Started section for an overview of Dash.
- If you want to dive straight into features, you can check out our Features section.
- For a quick recap of the commands, you can take a look at our Command Summary section.
Here is the meaning of some icons used in the guide:
βΉοΈ Extra information about the specific section.
π‘ Tips to help you get the most out of Dash.
Dash supports contact and task management in several ways. In terms of contact management, Dash allows you to add contacts and fill in details such as their phone number, address, and email. It even allows you to group them using tags such as "Neighbour" or "Colleague", so you can look them up more easily. For task management, Dash allows you to add tasks, tag them, and set deadlines for them. Once you're done with a task, you can mark it as complete.
Dash uses a tab system to keep your contacts and tasks separate. To view and edit your contact list, you must switch to the contacts tab. Similarly, to view and edit your task list, you must switch to the tasks tab. Finally, the help tab provides you with a quick summary of Dash's features and how to use them.
Dash uses a Command Line Interface (CLI) to optimize speed. This means that you use mostly your keyboard to interact with Dash, instead of relying on your mouse to click on options. For example, you can switch tabs by typing in a command; you cannot do so by clicking the tab.
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:
-
contacts
: Switches to the contacts tab -
tasks
: Switches to the tasks tab -
add n/Joe
: Adds a contact named Joe. -
clear
: Deletes all contacts. -
exit
: Exits the app.
π‘ You can press the up and down arrow keys in the command box to retrieve your previous commands. This can save you a lot of time!
- Refer to the Features below for details of each command.
βΉοΈ Notes about the command format:
-
Words in
UPPER_CASE
are the parameters to be supplied by the user.
e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional.
e.g.n/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
β¦
after them can be used more than once.
e.g.[t/TAG]β¦
can be used asΒ
(i.e. 0 times),t/friend
,t/friend t/family
etc. -
Parameters can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable. -
If a parameter is expected only once in the command, but you specified it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specifyp/12341234 p/56785678
, onlyp/56785678
will be taken. -
Extraneous parameters for commands that do not take in parameters (such as
help
,contacts
,tasks
andclear
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
. -
Here is the meaning of some icons used in this section:
π Description: This is a brief description of what the command does.
π Format: This is how you're supposed to type the command into the command line
(Refer to the section below on notes
about the command format.)
π Notes: These are some notes on how the command can be used, along with any noteworthy examples or caveats.
π If you want to switch to a certain tab, you can do that by typing out the tab name.
π Format: contacts
or tasks
or help
Alternatively, you can switch tabs using shortcuts to save time:
π Format: c
or t
or h
π If you want to close the window and exit the program, you can use the Exit command.
π Format: exit
π‘ You can exit the app at any time by using the exit command or by closing the window. Your progress will always be saved.
π If you want to add a person to the contact list, you can use the Add command. Only the contact's name is compulsory during creation.
The above screenshot shows how you can use the Add command to add a person with the following details to your contact list:
- Name: Mitski Miyawaki
- Phone number: 91288841
- Email address: [email protected]
- Address: 1 Hougang Street 91, #01-41
- Tag(s): friend
π Format: add n/NAME [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]...
βΉοΈ Name limitations:
Names should be no longer than 20 characters.
π If you want to modify the details of a specific contact, you can use the Edit command.
The above screenshot shows how the Edit command can be used to edit the phone number and email of a contact.
π Format: edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]...
π Notes:
- Edits the contact at the specified
INDEX
.- The
INDEX
refers to the position of the contact in the displayed contact list as indicated by the number next to their name. - The
INDEX
must be a positive integer (1, 2, 3,...).
- The
- At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- When editing tags, the existing tags of the contact will be removed i.e. adding of tags is not cumulative.
- To add tags without removing existing tags, refer to the Tag command in the next section.
π‘ You can remove all tags from a contact by typing edit INDEX t/
.
π If you want to add new tags to a contact without replacing the old ones, you can use the Tag command.
The above screenshot shows how the Tag command can be used to tag a contact with the tag "groupmate".
π Format: tag INDEX t/TAG...
π Notes:
- At least one tag must be provided.
βΉοΈ Tag limitations:
Tags should be no longer than 15 characters.
π If you want to delete a contact, you can use the Delete command.
π Format: delete INDEX
π Notes:
- Deletes the person at the specified
INDEX
.- The
INDEX
refers to the position of the contact in the displayed contact list as indicated by the number next to their name. - The
INDEX
must be a positive integer (1, 2, 3,...).
- The
π If you want to filter your contacts by tags, names, or any other details, you can use the Find command.
The above screenshot shows how the Find command can be used to search for all contacts who are tagged as "friends".
π Format: find [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]...
π Notes:
- The search is case-insensitive. e.g.
find e/[email protected]
will match[email protected]
. - The order of the keywords does not matter. e.g.
find a/tampines 111
will matchBlk 111 Tampines Street 11, #02-345
. - At least one of the fields must be present.
- Contacts matching all keywords will be returned (i.e. AND search).
- e.g.
find n/Hans Bo
will return onlyHans Bo
andHans Bo the Second
. It will not returnHans Gruber
orBo Yang
. - e.g.
find p/86235343 t/CS2101
will return only contacts who have both the phone number86235343
AND the tagCS2101
. It will not return contacts with different phone numbers, even if they both have the tagCS2101
.
- e.g.
π‘ For added convenience, you can find contacts by their names by typing just find NAME
without the prefix n/
.
π After youβve filtered your contacts using the Find command, if you want to view all of them again, you can use the List command.
π Format: list
π If you want to delete all of your contacts, you can use the Clear command.
π Format: clear
This command is irreversible and your contact list will be permanently deleted.
βΉοΈ Notes on the Contacts panel: On the Tasks tab, there is a Contacts panel on the right that shows a simplified view of your Contacts tab. If you filtered your contacts by using the Find command before switching to the Tasks tab, the Contacts panel shows the same filtered contact list. In this way, if you have a lot of contacts, you can maintain a focused view of the current people of interest and more easily assign them to tasks.
π If you want to add a task to the task list, you can use the Add command. Only task's description is compulsory during creation.
The above screenshot shows how you can use the Add command to add a task with the following details to your task list:
- Description: Submit PR
- Date and Time: 1 Nov 2021, 5:00 PM
- Tag(s): Groupwork
- Assigned Person(s): Alex Yeoh
π Format: add d/DESCRIPTION [dt/DATE] [dt/TIME] [dt/DATE, TIME] [p/PERSON_INDEX]... [t/TAG]...
π Notes:
- An explanation of how Date and Time formats work can be found here.
- If you want to assign people to the task, the people to be assigned to the task (assignees) are specified with
PERSON_INDEX
.- You can assign multiple people to the same task at once.
- The
PERSON_INDEX
refers to the position of the person in the Contacts panel as indicated by the number next to their name. - Any specified
PERSON_INDEX
must be a positive integer (1, 2, 3,...).
π If you want to modify the details of a specific task, you can use the Edit command.
The above screenshot shows how the Edit command can be used to edit the date/time and assignee of a task.
π Format: edit INDEX [d/DESCRIPTION] [dt/DATE] [dt/TIME] [dt/DATE, TIME] [p/PERSON_INDEX]... [t/TAG]...
π Notes:
- Edits the task at the specified
INDEX
.- The
INDEX
refers to the position of the task in the displayed task list as indicated by the number next to its description. - The
INDEX
must be a positive integer (1, 2, 3,...).
- The
- At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
- When editing tags, the existing tags of the contact will be removed i.e. adding of tags is not cumulative.
- To add tags without removing existing tags, refer to the Tag command in the next section.
- An explanation of how Date and Time formats work can be found here.
- If you want to modify the assignees of the task, new assignees are specified with
PERSON_INDEX
.- You can assign multiple people to the same task at once.
- The
PERSON_INDEX
refers to the position of the person in the Contacts panel as indicated by the number next to their name. - Any specified
PERSON_INDEX
must be a positive integer (1, 2, 3,...).
π‘ You can remove all tags from a task by typing edit INDEX t/
.
π If you want to add more tags to a task without replacing the old tags, you can use the Tag command.
The above screenshot shows how the Tag command is used to add the tag "urgent" to the task "Submit CS2100 Assignment by 23:59".
π Format: tag INDEX t/TAG...
π Notes:
- At least one tag must be provided.
Tag names are only limited to 20 characters!
π If you want to assign more people to a task without replacing the old assignees, you can use the Assign command.
The above screenshot shows how the Assign command is used to assign "Alex Yeoh" to the task "Submit CS2100 Assignment by 23:59".
π Format: assign INDEX p/PERSON_INDEX...
π Notes:
- Assigns people, specified with
PERSON_INDEX
, to the task at the specifiedINDEX
.- You can assign multiple people to the same task at once.
- The
INDEX
refers to the position of the task in the displayed task list as indicated by the number next to its description. - The
PERSON_INDEX
refers to the position of the person in the Contacts panel as indicated by the number next to their name. - The
INDEX
andPERSON_INDEX
must be positive integers (1, 2, 3,...).
π If you have completed a task, you can mark it as completed by using the Complete command.
The above screenshot shows how a completed task has its text greyed out and has a green tick next to its description. An incomplete task has a red tick instead.
π Format: complete INDEX
π Notes:
- Completes the task at the specified
INDEX
.- The
INDEX
refers to the position of the task in the displayed task list as indicated by the number next to its description. - The
INDEX
must be a positive integer (1, 2, 3,...).
- The
π Notes:
- You cannot 'un-complete' a task.
π If you want to delete a task, you can use the Delete command.
π Format: delete INDEX
π Notes:
- Deletes the task at the specified
INDEX
.- The
INDEX
refers to the position of the task in the displayed task list as indicated by the number next to its description. - The
INDEX
must be a positive integer (1, 2, 3,...).
- The
π If you want to filter your tasks by tags, assigned people, or any other details, you can use the Find command.
The above screenshot shows how the Find command can be used to search for all tasks marked "07:00 PM".
π Format: find [d/DESCRIPTION] [dt/DATE] [dt/TIME] [dt/DATE, TIME] [p/PERSON_INDEX]... [t/TAG]...
π Notes:
- The search is case-insensitive. e.g
find t/HOMEWORK
will match thehomework
tag. - The order of the keywords does not matter. e.g.
find d/lectures ST
will matchST Lectures
. - At least one of the fields must be present.
- Tasks matching all keywords will be returned (i.e. AND search).
- e.g.
find d/Math Quiz
will return onlyMath Quiz
andMath Quiz 8
. It will not returnMath Assignment
orGEQ Quiz
. - e.g.
find dt/1900 t/homework
will return only tasks which have both the time1900
AND the taghomework
. It will not return tasks with different times, even if they both have the taghomework
.
- e.g.
π‘ For added convenience, you can find tasks by their descriptions by typing just find DESCRIPTION
without the prefix d/
.
π If you want to view all of your upcoming tasks, you can use the Upcoming command. Upcoming tasks are incomplete tasks whose Date/Time are after the current Date/Time.
The above screenshot shows how the Upcoming command is used to view all incomplete tasks after the current Date/Time. In this example, it was 25 October 2021, 09:16 PM.
π Format: upcoming
π Notes:
- Upcoming tasks will be listed in chronological order.
- The current Date/Time is determined locally by your system clock.
- An explanation of how Date and Time formats work can be found here.
π After youβve filtered your tasks using the Find command or the Upcoming command, if you want to view all of them again, you can use the List command.
π Format: list
π If you want to delete all of your completed tasks, you can use the Cleardone command.
π Format: cleardone
π If you want to delete all of your tasks, you can use the Clear command.
π Format: clear
This command is irreversible and your task list will be permanently deleted.
βΉοΈ Notes about specifying date and time: A task can optionally have a Date, or both a Date and a Time.
add [dt/DATE] [dt/TIME] [dt/DATE, TIME]
- When only Date is specified in the
add
command, a task will only have the specified Date. - When only Time is specified in the
add
command, a task will have today's Date and the specified Time. - When both Date and Time are specified in the
add
command, a task will have both of the specified Date and Time.
edit [dt/DATE] [dt/TIME] [dt/DATE, TIME]
- When only Date is specified in the
edit
command, a task will only have its Date changed to the specified Date. - When only Time is specified in the
edit
command, a task will only have its Time changed to the specified Time. - When both Date and Time are specified in the
edit
command, a task will have both of its Date and Time changed to the specified Date and Time.
If a parameter is expected only once in the command, but you specified it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specify dt/12/02/2021 dt/1900
, only dt/1900
will be taken.
Date Formats
Format | Example |
---|---|
dd/MM/yyyy | 02/10/2021 |
dd-MM-yyyy | 02-10-2021 |
yyyy/MM/dd | 2021/10/02 |
yyyy-MM-dd | 2021-10-02 |
dd MMM yyyy | 02 Oct 2021 (First letter of Month must be capitalised) |
Time Formats
Format | Example |
---|---|
HHmm | 1300 (01:00 PM in 24-hour notation) |
hh:mm a | 10:00 PM , 02:00 AM (AM and PM must be capitalised) |
Action | Format |
---|---|
Contacts | contacts or c |
Tasks | tasks or t |
Help | help or h |
Exit | exit |
Action | Format |
---|---|
Add | add n/NAME [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]... |
Edit | edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]... |
Tag | tag INDEX t/TAG... |
Delete | delete INDEX |
Find | find [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]... |
List | list |
Clear | clear |
Action | Format |
---|---|
Add | add d/DESCRIPTION [dt/DATE] [dt/TIME] [dt/DATE, TIME] [p/PERSON_INDEX]... [t/TAG]... |
Edit | edit INDEX [d/DESCRIPTION] [dt/DATE] [dt/TIME] [dt/DATE, TIME] [p/PERSON_INDEX]... [t/TAG]... |
Tag | tag INDEX t/TAG... |
Assign | assign INDEX p/PERSON_INDEX... |
Complete | complete INDEX |
Delete | delete INDEX |
Find | find [d/DESCRIPTION] [dt/DATE] [dt/TIME] [dt/DATE, TIME] [p/PERSON_INDEX]... [t/TAG]... |
Upcoming | upcoming |
List | list |
Clear Done | cleardone |
Clear | clear |