
Duck is a personal assistant application for managing tasks. It allows you to keep track of to-do lists, deadlines, and events through simple text commands. Duck supports a range of commands to help you manage and sort your tasks effectively, and can also save and load your tasks from a file.
Words in UPPER_CASE are the parameters to be supplied by the user.
e.g., in todo DESCRIPTION, DESCRIPTION is a parameter that can be used as todo read book.
Extraneous parameters for commands that do not take in parameters (such as list and bye) will be ignored.
e.g., if the command specifies list 123, Duck will still execute the list command.
helpThe help command provides a list of all available commands and their descriptions. This can help you learn how to use Duck effectively.
Format: help
Expected outcome
Quack! Seems like you need Duck's help.
Here are the commands you can use:
1. todo <description> - Add a todo task
2. deadline <description> /by <date> - Add a deadline task
3. event <description> /from <date> /to <date> - Add an event task
4. list - List all tasks
5. sort /target <target> /by <criterion> - Sort target tasks by the criterion
6. mark <task number> - Mark a task as done
7. unmark <task number> - Mark a task as incomplete
8. delete <task number> - Delete a task
9. find <keyword> - Find tasks with a keyword
10. on <date> - List tasks due on a specific date
11. bye - Exit the application
12. help - Show this help message
listThe list command allows you to view all tasks currently stored in Duck’s task list, including to-do items, deadlines, and events.
Format: list
Expected outcome
Quack, here are the tasks in your list:
1. [T][ ] read book
2. [D][ ] submit assignment (by: Sep 30 2024 23:59)
3. [E][ ] team meeting (from: Sep 29 2024 10:00 to: Sep 29 2024 12:00)
todoThe todo command allows you to add basic to-do tasks to your list. These tasks do not have a deadline or time constraints but are tasks that need to be completed.
Format: todo DESCRIPTION
DESCRIPTION is the description of the task you want to add.Example:
todo read book
Expected outcome
Got it. I've added this task:
[T][ ] read book
4 tasks in the list now.
deadlineThe deadline command allows you to add tasks with a deadline to your task list. You can specify the task description, followed by the /by keyword and the deadline.
Format: deadline DESCRIPTION /by DATE
DESCRIPTION is the description of the task you want to add.DATE is the deadline for the task in the format YYYY-MM-DD HHMM or YYYY/MM/DD HHMM.Example: deadline submit assignment /by 2024-09-30 2359
expected output
Got it. I've added this task:
[D][ ] submit assignment (by: Sep 30 2024 23:59)
5 tasks in the list now.
eventThe event command allows you to add an event to your task list. You can specify a description, a start time (using the /from keyword), and an end time (using the /to keyword).
Format: event DESCRIPTION /from START_DATE /to END_DATE
DESCRIPTION is the description of the event you want to add.START_DATE is the start date and time of the event in the format YYYY-MM-DD HHMM or YYYY/MM/DD HHMM.END_DATE is the end date and time of the event in the format YYYY-MM-DD HHMM or YYYY/MM/DD HHMM.Example:
event team meeting /from 2024-09-29 10:00 /to 2024-09-29 12:00
Expected outcome:
Got it. I've added this task:
[E][ ] team meeting (from: Sep 29 2024 10:00 to: Sep 29 2024 12:00)
6 tasks in the list now.
markDuck allows you to mark tasks as completed using the mark command. This updates the status of a task in your list.
Format: mark INDEX
INDEX is the index of the task you want to mark as done.
Note: The index starts from 1, not 0.
Example:
mark 2
Expected outcome:
Nice! I've marked this task as done:
[D][X] CS2103T submission (by: Sep 30 2024 23:59)
unmarkThe unmark command allows you to mark tasks as not done.
Format: unmark INDEX
INDEX is the index of the task you want to mark as not done.
Note: The index starts from 1, not 0.
Example:
unmark 1
Expected outcome:
OK, I've marked this task as not done yet:
[T][ ] read book
deleteYou can remove tasks from your list using the delete command.
Format: delete INDEX
INDEX is the index of the task you want to delete.
Note: The index starts from 1, not 0.
Example:
delete 3
Expected outcome:
Noted. I've removed this task:
[T][X] water the plants
4 tasks in the list now.
findThe find command allows you to search for tasks containing a specific keyword.
Format: find KEYWORD
KEYWORD is the word you want to search for in your tasks.Example:
find assignment
Expected outcome:
Quack, I found these related tasks for you!
1. [D][ ] submit assignment (by: Sep 30 2024 23:59)
sortDuck supports sorting your tasks with the sort command. You can specify different criteria for sorting.
Format: sort /target TARGET /by CRITERION
TARGET is the target tasks you want to sort (e.g., all, todo, deadline, event).CRITERION is the criterion you want to sort by (e.g., type, description, deadline, start, end).Example:
sort /target all /by type
Expected outcome:
all tasks sorted successfully by type!
Previous list
Quack, here are the tasks in your list:
1. [T][ ] read book
2. [D][ ] submit assignment (by: Sep 30 2024 23:59)
3. [E][ ] team meeting (from: Sep 29 2024 10:00 to: Sep 29 2024 12:00)
4. [D][ ] CS2103T submission (by: Sep 30 2024 23:59)
5. [T][X] water the plants
List after sorting
Quack, here are the tasks in your list:
1. [T][ ] read book
2. [T][X] water the plants
3. [D][ ] CS2103T submission (by: Sep 30 2024 23:59)
4. [D][ ] submit assignment (by: Sep 30 2024 23:59)
5. [E][ ] team meeting (from: Sep 29 2024 10:00 to: Sep 29 2024 12:00)
byeYou can exit Duck by using the bye command.
Format:
bye
Expected outcome:
Quack! Duck is going to sleep now. Goodbye!
There is no need to save the data manually. Duck automatically saves your tasks to a file named duck.txt in a folder named data, in the user’s home directory.
The data will be loaded automatically the next time you run Duck.
Duck data are saved automatically as a txt file in the data folder of the user’s home directory. Advanced users can edit the data file directly to make changes to the tasks.
For Windows: C:\Users\<username>\data\duck.txt
For Mac: /Users/<username>/data/duck.txt
For Linux: /home/<username>/data/duck.txt
Caution: Editing the data file directly with invalid formats may cause Duck to behave unexpectedly.
Duck will only load the lines of data that are in the correct format.
| Action | Format, Example |
|---|---|
| Help | help |
| List | list |
| Todo | todo DESCRIPTION e.g., todo read book |
| Deadline | deadline DESCRIPTION /by DATE e.g., deadline submit assignment /by 2024-09-30 2359 |
| Event | event DESCRIPTION /from START_DATE /to END_DATE e.g., event team meeting /from 2024-09-29 10:00 /to 2024-09-29 12:00 |
| Mark | mark INDEX e.g., mark 2 |
| Unmark | unmark INDEX e.g., unmark 1 |
| Delete | delete INDEX e.g., delete 3 |
| Find | find KEYWORD e.g., find assignment |
| Sort | sort /target TARGET /by CRITERION e.g., sort /target all /by type |
| Bye | bye |