Duke is a task bot for users to easily track their todo lists. Users can note down their tasks in three types, namely event, todo, and deadline, and add notes as well as time range to each task accordingly. Refer to the following sections for feature details!
Prerequisites: JDK 11, update Intellij to the most recent version.
- Open Intellij (if you are not in the welcome screen, click
File
>Close Project
to close the existing project first) - Open the project into Intellij as follows:
- Click
Open
. - Select the project directory, and click
OK
. - If there are any further prompts, accept the defaults.
- Click
- Configure the project to use JDK 11 (not other versions) as explained in here.
In the same dialog, set the Project language level field to theSDK default
option. - After that, locate the
src/main/java/duke.Duke.java
file, right-click it, and chooseRun duke.Duke.main()
(if the code editor is showing compile errors, try restarting the IDE). If the setup is correct, you should see something like the below as the output:Hello! I'm Duke Here are the tasks to be finished today:
User can add (todo
, deadline
, event
) and delete (delete + task index
) a task to the task list. A task can also
be marked as done (done + task index
).
User can view all tasks added to the task list.
User can use get + dd/mm/yyyy
keyword to get tasks on a particular day.
get today
can be used to quickly get tasks on a certain day.
User can see all tasks to be done by today (particularly event
and deadline
types) when opening the application.
User can use find + keyword
to search for a certain task.
Tasks added to the task list is auto-saved to local files. When user reopen the application on the same device, the tasks previously added can be seen.
A todo type has no time attached to it, user can choose to finish it by anytime.
Example usage:
todo write essay
An event type has a time range to be specified by the users. The date is a must and time range is optional.
event /at dd/mm/yyyy (time)
Example usage:
event wash hair /at 21/09/2021 2-3pm
A deadline type has a time stamp to be specified by the users. The time can be input in the form of /by dd/mm/yyyy
or /by dd/mm/yyyy hh:mm
Example usage:
deadline finish homework /by 23/09/2021
deadline finish homework /by 23/09/2021 13:45
Example usage:
done + task index
done 3
where 3 is the position of the task intended to complete in the task list.
Example usage:
delete task index
delete 3
where 3 is the position of the task intended to complete in the task list.
Example usage:
list
Example usage:
find class
get today
to get tasks due today quickly.
get dd/mm/yyyy
to get tasks on the specified date.
Example usage:
get today
get 23/09/2021
Example usage:
bye
Expected outcome: The application closes.