User Guide

Duke is an interactive desktop app used to keep track of tasks to be completed. It is optimized for use through a Command Line Interface (CLI) while providing a minimalistic and elegant Graphical User Interface (GUI). If you can type fast and wish to keep track of tasks this way, then this might be the app for you!

Quick Start

  1. Ensure you have Java 11 or above installed in your computer.
  2. Download “Duke.jar” from here.
  3. Copy the file to the desired location where you would normally access it.
  4. Double-click the file to start the app. The GUI will look similar to the image below. Upon using it for the first time, a new folder named “data” will be created in the same directory in order to store task data.
    Ui
  5. Type the command in the text box and press Enter to execute the command. You can begin by trying the few commands in-order below.
    1. todo some task: Adds a todo-task some task.
    2. list: Lists all current task. You should see “some task” added in step 1.
    3. done 1: Marks the 1st task. In this case, it is the todo-task “some task”.
    4. list: Lists all current task. Notice that the task is now marked as complete.
    5. delete 1: Deletes the 1st task.
    6. bye: Closes the app.
  6. Refer to the features below for more commands and the details of each command.

Features

Note the following about the command format:

General commands

Listing tasks: list

Shows all tasks that have been added to Duke.

Format: list

Finding tasks: find

Finds tasks with description containing the given word or phrase.

Format: find {keyword or phrase}

Example:

Outcome:

Exiting the app: bye

Exits the app.

Format: bye

Add commands

Below are commands that add different types of tasks and their details.

Adding ToDo-type task: todo

Adds a task with a description that needs to be completed.

Format: todo {description}

Examples:

Outcome:

Adding Deadline-type task: deadline

Adds a task with a description and a deadline.

Format: deadline {description} /by {deadline}

Examples:

Outcome:

Adding Event-type task: event

Adds a task with a description, a start timing and an end timing.

Format: event {description} /at {timings}

Examples:

Outcome:

Adding recurring tasks: -r

Adds a recurring task which recurs based on the specified interval. Task must be a deadline or event.

Format: {recurring task specification} -r {interval}

Example:

Outcome:

State-changing commands

Completing a task: done

Marks a task as complete.

Format: done {index}

Example:

Outcome:

Deleting a task: delete

Deletes a task from the list.

Format: delete {index}

Outcome:

Command summary

Action Format
List list
Find find {keyword or phrase}
Exit bye
ToDo todo {description}
Deadline deadline {description} /by {deadline}
Event event {description} /at {timings}
Recurring Task {recurring task specification} -r {interval}
Done done {index}
Delete delete {index}