User Guide
Table of Contents
Introduction
Duke is a desktop application that helps keep track of the tasks that you have to do. This user guide explains the different features that have been implemented, the commands that are available to you, as well as examples on how to use the commands.
Features
1. Task List
Duke maintains a task list that you can add and remove different tasks into in order to keep track of them.
2. Different types of tasks
Duke supports 3 types of task types, “To-do”, “Deadline”, and “Event” tasks.
3. Tracking task progress
Duke allows you to indicate a tasks state of completion, whether it is undone or done.
4. Task filtering
Duke allows you to find tasks that contain your specified keywords.
5. Undoing of changes
Duke allows you to undo changes in case you make any mistakes.
Usage
todo
- Creates a “To-do” task
todo <task description>
The “To-do” task only contains a task description, which you may enter after the todo
command, separated by a whitespace.
Example of usage:
todo grab lunch
Expected outcome:
_____________________________________________________
Got it. I've added this task:
[T][✗] grab lunch
Now you have 1 task in your list.
_____________________________________________________
##
deadline
- Creates a “Deadline” task
deadline <task description> /by <deadline time>
The “Deadline” task contains a task description, as well as a deadline time.
The task description should be entered after the deadline
command, separated by a white space.
The deadline time should be entered after the /by
keyword, separated by a white space. The /by
keyword should also be separated from the task description by a whitespace.
Deadline time must be entered in the format dd/MM/yyyy HHmm
. Note the use of 24-hour time format.
Example of usage:
deadline clean room /by 01/01/2020 0000
Expected outcome:
_____________________________________________________
Got it. I've added this task:
[D][✗] clean room (by: Wed Jan 01 00:00:00 SGT 2020)
Now you have 2 tasks in your list.
_____________________________________________________
##
event
- Creates a “Event” task
event <task description> /at <event time>
The “Event” task contains a task description, as well as a event time.
The task description should be entered after the event
command, separated by a white space.
The event time should be entered after the /at
keyword, separated by a white space. The /at
keyword should also be separated from the task description by a whitespace.
Event time must be entered in the format dd/MM/yyyy HHmm
. Note the use of 24-hour time format.
Example of usage:
event house warming /at 01/01/2020 2000
Expected outcome:
_____________________________________________________
Got it. I've added this task:
[E][✗] house warming (at: Wed Jan 01 20:00:00 SGT 2020)
Now you have 3 tasks in your list.
_____________________________________________________
##
list
- Lists all recorded events
list
Lists all the tasks currently stored within the task list.
Example of usage:
list
Expected outcome:
_____________________________________________________
Here are the tasks in your list:
1.[T][✗] grab lunch
2.[D][✗] clean room (by: Wed Jan 01 00:00:00 SGT 2020)
3.[E][✗] house warming (at: Wed Jan 01 20:00:00 SGT 2020)
_____________________________________________________
##
done
- Marks task as done
done <index>
Indicates a task as done, according to that task’s index within the task list.
Example of usage:
When the task list looks like this:
_____________________________________________________
Here are the tasks in your list:
1.[T][✗] grab lunch
2.[D][✗] clean room (by: Wed Jan 01 00:00:00 SGT 2020)
3.[E][✗] house warming (at: Wed Jan 01 20:00:00 SGT 2020)
_____________________________________________________
By doing the command:
done 2
Expected outcome:
_____________________________________________________
Nice! I've marked this task as done:
[D][✓] clean room (by: Wed Jan 01 00:00:00 SGT 2020)
_____________________________________________________
##
delete
- Deletes a task
delete <index>
Deletes a task according to that task’s index within the task list.
Example of usage:
When the task list looks like this:
_____________________________________________________
Here are the tasks in your list:
1.[T][✗] grab lunch
2.[D][✓] clean room (by: Wed Jan 01 00:00:00 SGT 2020)
3.[E][✗] house warming (at: Wed Jan 01 20:00:00 SGT 2020)
_____________________________________________________
By doing the command:
delete 1
Expected outcome:
_____________________________________________________
Noted. I've removed this task:
[T][✗] grab lunch
_____________________________________________________
##
undo
- Undoes a change
undo
Undoes the recent changes that have been made to the task list. Note that once you close the Duke application, all changes that have been made can no longer be undone.
Changes that can be undone include:
- adding of tasks to the task list
- deleting of tasks from the task list
- indicating a task as done
Example of usage:
When the task list looks like this:
_____________________________________________________
Noted. I've removed this task:
[T][✗] grab lunch
_____________________________________________________
_____________________________________________________
Here are the tasks in your list:
1.[D][✓] clean room (by: Wed Jan 01 00:00:00 SGT 2020)
2.[E][✗] house warming (at: Wed Jan 01 20:00:00 SGT 2020)
_____________________________________________________
By doing the command:
undo
Expected outcome:
_____________________________________________________
Got it! The following task has been recovered:
[T][✗] grab lunch
_____________________________________________________
##
find
- Find tasks with a certain keyword
find <keyword>
Lists all the tasks within the current task list that contain the specified keyword.
Example of usage:
When the task list looks like this:
_____________________________________________________
Here are the tasks in your list:
1.[E][✓] borrow book (at: Tue Oct 01 09:00:00 SGT 2019)
2.[T][✗] read book
3.[D][✗] return book (by: Fri Oct 04 17:00:00 SGT 2019)
4.[T][✗] make dinner
5.[E][✗] family gathering (at: Thu Oct 03 12:00:00 SGT 2019)
_____________________________________________________
By doing the command:
find book
Expected outcome:
_____________________________________________________
Here are the matching tasks in your list:
1.[E][✓] borrow book (at: Tue Oct 01 09:00:00 SGT 2019)
2.[T][✗] read book
3.[D][✗] return book (by: Fri Oct 04 17:00:00 SGT 2019)
_____________________________________________________
##
bye
- Stops Duke from running
bye
Says bye to Duke. Any further input made after the bye
command will not do anything.
Example of usage:
bye
Expected outcome:
_____________________________________________________
Bye. Hope to see you again soon!
_____________________________________________________