Duke is a task management system. This desktop application allows a single user to add and remove tasks; save/load tasks into/from a separate file; find tasks by input string; update priorities of items; list all tasks the user has saved; list all tasks by order of priority. This application uses the command line interface; this means you operate the application by typing commands in to the Command Box.
This is what Duke looks like:
This document shows all the features of Duke
Note the following symbols and formatting used in this document:
list
A grey highlight (called a mark-up) indicates that this is a command that can be typed into the command line and executed by the application.
This section contains basic commands for Duke.
This section contains instructions on how to add different tasks into a list. There are 3 types of tasks:
todo
This command adds a todo task into the list of tasks. A todo task contains only a descripton of itself.
To add a Todo task:
todo {description}
and press enter or click Send to execute itExpected outcome:
deadline
This command adds a deadline task into the list of tasks. A todo task contains a description and the date and time to complete the task by. The format to enter the date is dd/MM/yyyy HHmm.
Format | Meaning |
---|---|
dd | Day of the month represented by 2 digits (e.g. 01 for th first day of the month) |
MM | Month of the year represented by 2 digits (e.g. 06 represent June) |
yyyy | Year represented by 4 digits (e.g. 2019) |
HH | Hours represented by 2 digits |
mm | Minutes represented by 2 digits |
To add a Deadline task:
deadline {description} /by {dd/MM/yyyy HHmm}
and press enter or click Send to execute itExpeceted outcome:
event
This command adds a event task into the list of tasks. An event task contains a descripton of itself and two dates (The starting time and date of the event and the ending time and date of the event). The format to enter the time and date is dd/MM/yyyy HHmm. The start and ending times are separated by a dash.
Format | Meaning |
---|---|
dd | Day of the month represented by 2 digits (e.g. 01 for th first day of the month) |
MM | Month of the year represented by 2 digits (e.g. 06 represent June) |
yyyy | Year represented by 4 digits (e.g. 2019) |
HH | Hours represented by 2 digits |
mm | Minutes represented by 2 digits |
To add a Event task:
todo {description} /at {dd/MM/yyyy HHmm} - {dd/MM/yyyy HHmm}
and press enter or click Send to execute itExpected outcome:
Events can be listed in two ways:
list
This command lists the events in order of input by the user. Events that were input first will be higher on the list.
To list all tasks:
list
and press enter or click Send to execute itExpected outcome:
###Listing by order of priority: prioritylist
This command lists the events by order of priority defined by the users, tasks without any priority assigned will not be displayed in the list. Events assigned and smaller priority value will be higher on the list as compared to larger values. (e.g. priority:1 will be listed higher than priority:5)
To list tasks by priority:
prioritylist
and press enter or click Send to execute itExpected outcome:
delete
This command deletes a task from the list according to the index given in the list
command (index > 0). The deleted task is displayed after deletion.
To delete a task:
delete {index}
and press enter or click Send to execute itExpected outcome:
done
This commands marks a task from the list according to the index given in the list
command (index > 0). A task orginally left undone will be marked with a tick after the command is executed and displayed.
To mark a task as done:
done {index}
and press enter of click Send to execute it
Expected outcome:
##Find task: find
This command searches for tasks in the list that contain the input given by the user. The command then lists the tasks which description contains the user’s input string by chronological order (similar to the order of list
).
To find tasks which contain user’s input:
find {user input string}
and press enter of click Send to execute it
Expected outcome:
setpriority
This command updates the priority of a task in the list according to the index given the in the list
command. The task’s priority is set to the user’s input integer (priority > 0). The lower the value of the priority, the higher its priority (e.g. Tasks with priority: 1 is of higher priority as compared to priority: 2).
setpriority {index} {priority}
and press enter of click Send to execute it
Expected outcome:
bye
This commands exits the program.
bye
and press enter of click Send to execute it