ip

User Guide

Quick Start

  1. Ensure that you have Java 11 or above installed on your computer.
  2. Download the latest duke.jar here.
  3. Copy duke.jar to the folder you want to use as the home folder for Duke.
  4. Double-click duke.jar to launch Duke.
  5. A list of commands can be found here. A more comprehensive usage guide can be found here.

Features

Add tasks

Duke supports the creation of three different types of tasks: todo, deadline and event. todo allows the user to give a description to the task while deadline and event allows the user to specify a date in which the task must be completed by or at respectively.

List tasks

Duke is able to list the tasks the user has added. Duke displays the type of the task, description of the task and status of the task.

Mark task as done

Duke allows the user to mark a task as done once the user has completed the task.

Delete tasks

Duke is able to delete tasks that has already been added.

Find tasks

Duke can find tasks that include a certain string in its description and list them for easy access.

Undo last command

Duke can undo the last command that made a change to the task list.

Usage

Command Format

Words in UPPER_CASE are parameters that should be provided by the user. All parameters are compulsory.

todo - Adding a ToDo

Adds a ToDo task to the task list.

Format:
todo DESCRIPTION

Example of usage:

Expected outcome:

Got it. I've added this task:
  [T][✗] tutorial

deadline - Adding a Deadline

Adds a Deadline task to the task list.

Format:
deadline DESCRIPTION /by YYYY-MM-DD

Example of usage:

Expected outcome:

Got it. I've added this task:
  [D][✗] submit assignment (by: Sep 16 2020)

event - Adding a Event

Adds a Event task to the task list.

Format:
event DESCRIPTION /at YYYY-MM-DD

Example of usage:

Expected outcome:

Got it. I've added this task:
  [E][✗] finals (at: Dec 02 2020)

list - Listing all tasks

Lists all tasks with their respective indexes currently in the task list.

Format:
list

Example of usage:

Expected outcome:

1. [T][✗] tutorial
2. [D][✗] submit assignment (by: Sep 16 2020)
3. [E][✗] finals (at: Dec 02 2020)

done - Marking a task as done

Marks a task as done. Best used after list to get the indexes of tasks.

Format:
done INDEX

Example of usage:

Expected outcome:

Nice! I've marked this task as done:
  [T][✓] tutorial

delete - Deleting a task

Deletes a task from the task list. The rest of the tasks after the deleted tasks will have their indexes shifted up by one. Best used after list to get the indexes of tasks.

Format:
delete INDEX

Example of usage:

Expected outcome:

Noted. I've removed this task:
  [T][✓] tutorial

find - Finding a task

Finds tasks whose description contain the keyword provided. The indexes of the tasks found correspond to their actual index i.e. the indexes provided in list.

Format:
find KEYWORD

Example of usage:

Expected outcome:

Here are the matching tasks in your list:
2. [E][✗] finals (at: Dec 02 2020)

undo - Undoing previous command

Reverts the task list to the last state that made changes to the task list i.e. todo deadline event done delete. All subsequent undo commands continues to revert the state up to a maximum of four times. The first change made to the task list after running the application for the first time cannot be undone.

Format:
undo

Example of usage:

Expected outcome:

1. [T][✓] tutorial
2. [D][✗] submit assignment (by: Sep 16 2020)
3. [E][✗] finals (at: Dec 02 2020)

FAQ

Q: How do I transfer duke to another computer? A: Copy the folder duke.jar is in to the other computer. Alternatively, just copying duke.jar and the folder data is enough.

Command Summary

todo DESCRIPTION
deadline DESCRIPTION /by YYYY-MM-DD
event DESCRIPTION /at YYYY-MM-DD
list
done INDEX
delete INDEX
find KEYWORD
undo