Duke is a desktop app for managing tasks, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI)
Table of contents
Ensure you have Java 11
or above installed in your Computer.
Download the latest duke.jar
from here.
Copy the file to the folder you want to use as the home folder for your Duke chatbot.
Double-click the file to start the app. The GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
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:
list
: List all tasks.
todo
study hard
: Adds a todo task named study hard
to the Duke chatbot.
delete
3
: Deletes the 3rd task shown in the current list.
bye
: Exits the app.
Refer to the Features below for details of each command.
help
Shows a message listing all commands and how to use them.
Format: help
Example of usage:
help
Expected outcome:
Here are the things that I can do for you!
- Add a todo task:
todo <task description>
- Add an event task:
event <task description> /at <task timing (yyyy-mm-dd HH:MM)>
- Add a deadline task:
deadline <task description> /by <task timing (yyyy-mm-dd HH:MM)>
- See list of tasks:
list
- See upcoming list of tasks:
upcoming
- Mark a task as done:
done <number>
- Delete a task:
delete <number>
- Find tasks with a keyword:
find <keyword>
- End this program :d :
bye
todo/deadline/event
todo
Adds a todo task to the chatbot.
Format: todo <task description>
Example usage:
todo study cs2103
Expected outcome:
Got it. I've added this task:
[T][✘] study cs2103
Now you have 1 task(s) in the list.
deadline
Adds a deadline task to the chatbot.
Format: deadline <task description> /by <task timing (yyyy-mm-dd HH:MM)>
Example usage:
deadline cs2103 proj /by 2020-09-17 23:59
Expected outcome:
Got it. I've added this task:
[D][✘] cs2103 proj (by: Sep 17 2020 11:59 PM)
Now you have 2 task(s) in the list.
event
Adds an event task to the chatbot.
Format: event <task description> /at <task timing (yyyy-mm-dd HH:MM)>
Example usage:
event dinner party /at 2020-09-20 12:30
Expected outcome:
Got it. I've added this task:
[E][✘] dinner party (at: Sep 20 2020 12:30 PM)
Now you have 3 task(s) in the list.
list
Shows a list of all tasks saved in the chatbot.
Format: list
Example usage:
list
Expected outcome:
Task(s) in your list:
1. [T][✘] study cs2103
2. [D][✘] cs2103 proj (by: Sep 17 2020 11:59 PM)
3. [E][✘] dinner party (at: Sep 20 2020 12:30 PM)
upcoming
Shows a list of all deadline/event tasks in a week saved in the chatbot.
Format: upcoming
Example usage:
upcoming
Expected outcome:
Here are the upcoming tasks (in a week)!
1. [D][✘] cs2103 proj (by: Sep 17 2020 11:59 PM)
2. [E][✘] dinner party (at: Sep 20 2020 12:30 PM)
find
Shows a list of all tasks that contains the given keyword.
Format: find <keyword>
Example usage:
find cs2103
Expected outcome:
Found some matching tasks:
1. [T][✘] study cs2103
2. [D][✘] cs2103 proj (by: Sep 17 2020 11:59 PM)
done
Marks the specified task as done.
Format: done <task number>
Example usage:
done 1
Expected outcome:
Ok! I've marked this task as done:
[T][✓] study cs2103
delete
Deletes the specified task from the chatbot.
Format: delete <task number>
Example usage:
delete 1
Expected outcome:
No problem. I've removed this task:
[T][✓] study cs2103
Now you have 2 task(s) in the list.
bye
Exits the program.
Format: bye
Example usage:
bye
Expected outcome:
Goodbye! Come back soon!
Duke’s data are saved in the hard disk automatically after any commands that changes it. There is no need to save the data manually.