User Guide

Table Of Contents

  1. Introduction
  2. Quick Start
  3. Features
    3.1. Add new ToDo task
    3.2. Add new Deadline task
    3.3. Add new Event task
    3.4. Delete task
    3.5. Mark task as done
    3.6. List all tasks
    3.7. Search tasks
    3.8. Find due deadlines
    3.9. View commands supported
    3.10. Exit
  4. FAQ
  5. Command Summary

1. Introduction

Duke is a command line based personal chatbot application used for managing tasks. The various types of tasks it can handle are:

The application can add, delete tasks. It also provides methods to search for tasks and has the ability of marking the tasks as done when they are completed. It also has the ability of storing data to a physical location on the computer, so that the tasks always remain in memory.

2. Quick Start

3. Features

1. Add new ToDo task

Adds a new ToDo task to the list of tasks.

Usage

todo description - Adds a new ToDo task to the list of tasks

The command creates a new ToDo task with the description provided. Upon success a successful addition message similar to the one in the example would appear. If the wrong format is used an alert would be displayed.

Example of usage: todo homework

Expected outcome: The ToDo task would be added to the list. Upon success a response similar to the following one would appear:

__________________________________________________________________________________________
 Got it. I've added this task:
   [T][ ] homework
 Now you have 1 task in the list.
__________________________________________________________________________________________

2. Add new Deadline task

Adds a new Deadline task to the list of tasks.

Usage

deadline description /by yyyy-mm-dd hhmm - Adds a new Deadline task to the list of tasks

The command creates a new Deadline task with the description and timing details provided. Note: The date and time should be provided in the correct format Upon success a successful addition message similar to the one in the example would appear. If the wrong format is used an alert would be displayed.

Example of usage: deadline assignment /by 2020-03-21 1700

Expected outcome: The Deadline task would be added to the list. Upon success a response similar to the following one would appear:

__________________________________________________________________________________________
 Got it. I've added this task:
    [D][ ] assignment (by: Mar 21 2020 1700 Hrs )
 Now you have 2 tasks in the list.
__________________________________________________________________________________________

3. Add new Event task

Adds a new Event task to the list of tasks.

Usage

event description /at location - Adds a new ToDo task to the list of tasks

The command creates a new Event task with the description and the location detail provided. Upon success a successful addition message similar to the one in the example would appear. If the wrong format is used an alert would be displayed.

Example of usage: event meeting /at school

Expected outcome: The ToDo task would be added to the list. Upon success a response similar to the following one would appear:

__________________________________________________________________________________________
 Got it. I've added this task:
    [E][ ] meeting (at: school)
 Now you have 3 tasks in the list.
__________________________________________________________________________________________

4. Delete task

Deletes the task at the specified index.

Usage

delete index - Deletes task at specified index

The command deletes the task at the specifed index, if the index provided is valid. Upon success a successful deletion message similar to the one in the example would appear. If the wrong format is used an alert would be displayed.

Example of usage: delete 2

Expected outcome: The task would be deleted from the list. Upon success a response similar to the following one would appear:

__________________________________________________________________________________________
 Noted. I've removed this task:
   [D][ ] assignment (by: Mar 21 2020 1700 Hrs )
 Now you have 2 tasks in the list.
__________________________________________________________________________________________

5. Mark task as done

Marks the task at the specified index as done.

Usage

done index - Marks the task at specified index as done

The command marks the task at the specifed index as done, if the index provided is valid. Upon success a successful message similar to the one in the example would appear. If the wrong format is used an alert would be displayed.

Example of usage: done 1

Expected outcome: The task would be marked as done. Upon success a response similar to the following one would appear:

__________________________________________________________________________________________
 Nice! I've marked this task as done:
   [T][/] homework
__________________________________________________________________________________________

6. List all tasks

List all current tasks stored.

Usage

list - Lists all the tasks in the list

The command displays all the current tasks in a numbered list. Upon success a successful message similar to the one in the example would appear. If the wrong format is used an alert would be displayed.

Example of usage: list

Expected outcome: All tasks in the list would be displayed in a numbered list. A response similar to the following one would appear:

__________________________________________________________________________________________
 Here are the tasks in your list:
 1. [T][/] homework
 2. [E][ ] meeting (at: school)
__________________________________________________________________________________________

7. Search tasks

Performs a linear search of all tasks stored in the list at the point of execution and list all the tasks containing the keyword in their description in a numbered list.

Usage

find keyword - Lists all matching tasks in the list containing the keyword

The command displays all the tasks with description containg the keyword searched for in a numbered list. Upon success a successful message similar to the one in the example would appear. If the wrong format is used an alert would be displayed.

Example of usage: find meeting

Expected outcome: All matching tasks in the list would be displayed in a numbered list. A response similar to the following one would appear:

__________________________________________________________________________________________
 Here are the matching tasks in your list:
 1. [E][ ] meeting (at: school)
__________________________________________________________________________________________   

8. Find due deadlines

Performs a linear search of all deadlines stored in the list at the point of execution and list all those deadlines which are due on the specified date in a numbered list.

Usage

due yyyy-mm-dd - Lists all deadline tasks which are due on the specified date

The command displays all the deadline tasks which are due on the specified date in a numbered list. Upon success a successful message similar to the one in the example would appear. If the wrong format is used an alert would be displayed.

Example of usage: due 2020-03-25

Expected outcome: All matching deadlines in the list would be displayed in a numbered list. A response similar to the following one would appear:

__________________________________________________________________________________________
 Here are the deadline(s) due on the specified date:
 1. [D][ ] assignment (by: Mar 25 2020 1700 Hrs )
__________________________________________________________________________________________ 

9. View commands supported

The command displays the list of commands supported by the application.

Usage

help - Displays list of commands supported

The command displays the list of commands supported by the application. If the wrong format is used an invalid command alert would be displayed.

Example of usage: help

Expected outcome: The application would be exited successfully. A response similar to the following one would appear:

__________________________________________________________________________________________
 The list of supported commands along with their formats are as follows:
  todo description - Adds a new ToDo task to the list of tasks
  deadline description /by yyyy-mm-dd hhmm - Adds a new Deadline task to the list of tasks
  event description /at location - Adds a new ToDo task to the list of tasks
  delete index - Deletes task at specified index
  done index - Marks the task at specified index as done
  list - Lists all the tasks in the list
  find keyword - Lists all matching tasks in the list containing the keyword
  due yyyy-mm-dd - Lists all deadline tasks which are due on the specified date
  help - Displays a list of supported commands along with their format
  bye - Exits the application
__________________________________________________________________________________________

10. Exit

The command is used to exit the application. But before the actual application is exited the tasks currently in the list are stored in a file.

Usage

bye - Exits the application

The command when issued performs an exit. Upon success a successful message similar to the one in the example would appear and the application would be exited. If the wrong format is used an invalid command alert would be displayed.

Example of usage: bye

Expected outcome: The application would be exited successfully. A response similar to the following one would appear:

__________________________________________________________________________________________
 Bye. Hope to see you again soon!
__________________________________________________________________________________________

4. FAQ

Q: How to transfer the task list data from one computer to an other computer?
A:      Just copy the "TaskList.txt" file which could be found at the same directory
    as the jar file and paste it to the location containing the jar file in the other
    computer. This should transfer the required data.

5. Command Summary

  1. todo description - Adds a new ToDo task to the list of tasks
  2. deadline description /by yyyy-mm-dd hhmm - Adds a new Deadline task to the list of tasks
  3. event description /at location - Adds a new ToDo task to the list of tasks
  4. delete index - Deletes task at specified index
  5. done index - Marks the task at specified index as done
  6. list - Lists all the tasks in the list
  7. find keyword - Lists all matching tasks in the list containing the keyword
  8. due yyyy-mm-dd - Lists all deadline tasks which are due on the specified date
  9. help - Displays list of commands supported
  10. bye - Exits the application