Duke
Duke is a simple and pleasant todolist manager, with its own pre-defined commands. Users type in commands to tell Duke what to do for you.
Table Of Contents
Introduction
About
This is a java project created for CS2103T Software Engineering. This java project was developed using Java version 11.0.1 in MacOS Mojave Version 10.14.6
Author: Ong Bing Jue
Version: 0.2.0
Release Date: 30 Sepetember 2019
Github: http://github.com/bjhoohaha/duke
Getting Started
-
Java JDK 11
Download and install jdk 11 from:
https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html - Mac / Linux
java -jar Duke-0.1.3.jar
- Windows
Double click the jar file to run
Credits
Natalia Raices
- Font designer for the ‘Delius Unicase’ font used in the graphical user interface
Features
- Add and delete different types of task items e.g.
todo
,deadline
,event
- Displays different task items in list view
- Displays different task items in schedule view for all items or for a particular date
- Sets a task item as done
- Find your task items with keywords
- Sets a reminder for your task
- Platform compatibility with Windows, MacOS, Linux
Commands
A task in Duke can be classified into three main categories: todo
, deadline
, event
A todo
task is a task item that only has a task description. A todo task does not contain a date field.
todo <taskDescription>
: creates a new todo task
Example of usage:
todo borrow books
Expected Outcome:
A deadline
task is a task item that has a task description and a task date. The task date indicates when the
deadline
task is due by. The task date must follow a specified dd/MM/yy HH:mm
format.
deadline <taskDescription> /by <taskDate>
: creates a new deadline task
Example of usage:
deadline homework /by 30/09/2019 1200
Expected Outcome:
Possible Error:
InvalidParameters
:
If either the <taskDescription>
or <task date>
is empty or the taskDate
is not in the valid dd/MM/yy HH:mm
format
A event
task is a task item that has a task description and a task date. The task date indicates when the
event
task is happening at. The task date must follow a specified dd/MM/yy HH:mm
format.
event <taskDescription> /at <taskDate>
: creates a new event task
Example of usage:
event meeting /at 30/09/2019 1200
Expected Outcome:
Possible Error:
InvalidParameters
:
If either the <taskDescription>
or <task date>
is empty or the taskDate
is not in the valid dd/MM/yy HH:mm
format
Displays all task items in list
view. The items are displayed in the order they are entered
list
: view all task items in list view
Example of usage:
list
Expected Outcome:
Each task item can be marked as done
. It marks the task at the specified index in list
view as done.
done <index>
: marks a specified task item as done
Example of usage:
done 1
Expected Outcome:
Possible Error:
InvalidParameters
:
If the specified <index>
is not valid
Each task item can be deleted. It deletes a task item at the specified index in list
view.
delete <index>
: delete a task item
Example of usage:
delete 1
Expected Outcome:
Possible Error:
InvalidParameters
:
If the specified <index>
is not valid
Find the task with a matching keyword entered by the user
find <keyword>
: find task item with matching keyword
Example of usage:
find books
Expected Outcome:
Sets a reminder for a specified task. The reminder is set for the task with the specified index in the list view. The
date set for the reminder must follow the dd/MM/yy HH:mm
format. To change the date for a reminder that has been set,
simply enter a new remind command and the date will be automatically overwritten.
remind <index> <reminderDate>
: sets a reminder for a specified task
Example of usage:
remind 2 01/09/2019 0000
Expected Outcome:
InvalidParameters
:
If the specified <index>
is not valid or <reminderDate>
is not in the correct date format
See all tasks in schedule
view. The schedule
view is sorted by date order.
schedule
: see all task in schedule view
schedule <date>
: see all task in schedule view for a specified date
Example of usage:
schedule
schedule 01/09/2019 0000
Expected Outcome:
Exits duke and displays the exit message.
Example of usage:
bye
: exits duke and displays the exit message
Expected Outcome:
FAQ
Where does duke store its task?
Duke stores its tasks in a text file. The path for the text file can be found in ./data/duke.txt
What happens if I do not have ./data
directory in my computer?
Duke automatically creates the parent directories if a write operation is required.
What happens if I accidentally deleted the .txt
file?
Don’t worry, duke creates a new ./data/duke.txt
file each time there is any updates to the exisitng list of task
items
How do I turn off a reminder set for a task item?
Duke does not allow users to turn off reminders. However, users can enter a reminder that is overdue, duke automatically
clears all overdue reminders.
How do I update a reminder set for a task item?
You can update a reminder set for a task item by setting a new reminder for the task item. A new reminder overwrites the
previous reminder set.
Why do I get InvalidCommand
error?
This may happen if the user enters an invalid command. Please check available Commands for more information
Why do I get InvalidParameter
error?
This may happen if an invalid parameter is entered for the following command. Please check the individual commands in
Commands for more information.