ip

View the Project on GitHub Diwu-Yi/ip

User Guide

About

Duke the All-Knowing is a simple offline application which specialises in task management. It helps keep track of your task, offers find, delete and mark as done functions among other.

Features

Feature Usage and Commands

1. event <description> /at <yyyy-mm-dd> <hr:min> - Add a specific type of task

The task specified is saved to the list and in data file at the same time.

Example (User input command):

event team meeting /at 2020-02-02 18:00

Expected Response :

Got it. I have added this task:
[E][✘] team meeting /at 2020-02-02 18:00 (at:
2020 FEBRUARY 2 SUNDAY 18:00hr)

Note that user input commands and response for todo and deadline tasks are very similar to event except that todo command does not require a timing after by or at.

1a. deadline <description> /at <yyyy-mm-dd> <hr:min> - Add a deadline
1b. todo ask qn - Add a todo

2. done <seq number> - Mark an existing task as done

Error message is shown if the seq number exceeds length of the current list

Example (User input command):

done 2

Expected Response :

Nice! I have marked this task as done:
[E][✓] team meeting /at 2020-02-02 18:00 (at:
2020 FEBRUARY 2 SUNDAY 18:00hr)

Error Response : I am afraid that it is not possible to delete an unknown task.

Note that the user input commands and response for delete operation is the same as done .

2a. delete <seq number> - Delete an existing task from the task list

3. list - Display all tasks in sequence

Example (User input command):

list

Expected Response :

Here are the tasks in your list:
1.[E][✓] team meeting /at 2020-02-02 18:00 (at:
2020 FEBRUARY 2 SUNDAY 18:00hr)
2.[T][✓] borrow book

If the list is empty, no tasks will be displayed following the sentence “Here are the tasks in your list:”, although the sentence will still be displayed.

4. find <description> - Search all tasks containing the description specified

Example (User input command):

find borrow

Expected Response :

Here are the matching tasks in your list:
1.[E][✓] borrow book from lib /at 2020-02-02 18:00 (at:
2020 FEBRUARY 2 SUNDAY 18:00hr)
2.[T][✓] borrow mask

If the list is empty, no tasks will be displayed following the sentence “Here are matching the tasks in your list:”, although the sentence will still be displayed.

5. reminder - Display the nearest upcoming deadline(s)

Example (User input command):

reminder 

Expected Response :

Here is the nearest deadline(s) in your list:
1.[D][✘] borrow book from lib /at 2020-02-02 18:00 (at:
2020 FEBRUARY 2 SUNDAY 18:00hr)

if there are no deadline tasks in the list, the response is:

Nice! No upcoming deadline :).

6. bye - Display a goodbye message to and tell you to close the window

Example (User input command):

bye 

Expected Response :

Bye. Hope to see you again soon! You can now close this window to quit me as a program.

7. Exception Handling

For all other commands that duke does not recognise, the default exception which is caused by illegal arguments will be thrown and the error message will be displayed.

Expected Error Response

OOPS!!! I'm sorry, but I don't know what that means :-(

Future Expansion Plan

To further develop this software, some other functions and current features can be improved.

They include:

among others.

Hope you will have a good time using duke.