Command line application to keep track of tasks
Duke is a command line application to keep track of tasks. Duke currently supports the following types of tasks:
Duke also supports the following commands to operate on your tasks:
Duke also automatically saves your tasks to disk after every modification and loads tasks from file automatically on startup
Create a Todo task with a description
Create an Event task with a description and a date/time
Create a Deadline task with a description and a due date/time
List all your tasks
Mark a task as done
Delete a task
List all tasks with associated dates/times before specified date/time
List all tasks with associated dates on specified date
List all tasks with descriptions containing specified search term
Duke will automatically save your tasks to a relative path /data/tasks.txt after every operation that modifies the list of tasks
Duke will automatically load your tasks from disk at startup
todo
- Create a new Todo taskAdd a new Todo task to your list of tasks
Example of usage:
todo math homework
Expected outcome:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Added this task:
[T][✘] math homework
Now you have 1 task(s) in your list
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
event
- Create a new Event taskAdd a new Event task to your list of tasks
Example of usage:
event math class /at 31/7/2020 8:30
Expected outcome:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Added this task:
[E][✘] math class (at: 31/7/2020 8:30)
Now you have 2 task(s) in your list
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deadline
- Create a new Deadline taskAdd a new Deadline task to your list of tasks
Example of usage:
deadline finish math homework /by 5/10/2021 16:30
Expected outcome:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Added this task:
[D][✘] finish math homework (by: 5/10/2021 16:30)
Now you have 3 task(s) in your list
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
List
- List your tasksPrint a list of your tasks to the console
Example of usage:
list
Expected outcome:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
These are your tasks:
1. [T][✘] math homework
2. [E][✘] math class (at: 31/7/2020 8:30)
3. [D][✘] finish math homework (by: 5/10/2021 16:30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Done
- Mark a task as doneMark a specified task as done based on task number
Example of usage:
done 2
Expected outcome:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Task 2 has been marked as done
[E][✓] math class (at: 31/7/2020 8:30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Delete
- Delete a taskDelete a specified task based on task number
Example of usage:
delete 1
Expected outcome:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Deleted task 1:
[T][✘] math homework
Now you have 2 tasks left in your list
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
By
- List tasks by date/timeList all tasks before a specified date/time
Example of usage:
by 20/2/2021 4:30
Expected outcome:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
These are your tasks by 20/2/2021 4:30:
1. [E][✓] math class (at: 31/7/2020 8:30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On
- List tasks on dateList all tasks on a specified date
Example of usage:
on 5/10/2021
Expected outcome:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
These are your tasks on 5/10/2021:
2. [D][✘] finish math homework (by: 5/10/2021 16:30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Find
- Find tasks containing search termList all tasks whose descriptions contain specified search term
Example of usage:
find homework
Expected outcome:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Here are your search results:
2. [D][✘] finish math homework (by: 5/10/2021 16:30)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~