View on GitHub

ip

User Guide

This product is not meant for end-users and therefore there is no user-friendly installer. Please refer to the Setting up section below to learn how to set up the project.

Starting the program

Using IntelliJ

  1. Find the project in the Project Explorer (usually located at the left side)
    * If the Project Explorer is not visible, press ALT+1 for Windows/Linux, CMD+1 for macOS to open the Project Explorer tab
  2. Go to the src folder and locate the duke file
  3. Right click the file and select Run duke.Launcher()
  4. The program now should run on the Console (usually located at the bottom side)
  5. Now you can interact with the program through the Console

Using Command Line

  1. ‘Build’ the project using IntelliJ
  2. Open the Terminal/Command Prompt
  3. cd into the project’s build\libs\Duke.jar
  4. Type java -jar Duke.jar then Enter to execute
  5. Now you can interact with the program through the CLI

Features

Notes about the command format:

Adding a Todo task: todo


Adds a Todo task. ToDos: tasks without any date/time attached to it e.g., visit new theme park

Usage

Format: todo TASK DESCRIPTIONS

Example of usage:

todo borrow book

Expected outcome:

Got it. I've added this task:
  [T][✘] borrow book
Now you have 13 tasks in the list.


Adding a Deadline task: deadline


Adds a Deadline task. Deadlines: tasks that need to be done before a specific date e.g., submit report by 2020-10-23

Usage

Format: deadline TASK DESCRIPTIONS /by SPECIFIC DATE (FORMAT:yyyy-MM-dd)

Example of usage:

deadline return book /by 2020-12-12

Expected outcome:

Got it. I've added this task:
  [D][✘] return book (by: Sunday, October 11, 2020)
Now you have 15 tasks in the list.


Adding an Event task: event


Adds an Event task. Events: tasks that start at a specific time and ends at a specific time e.g., team project meeting at 2020-10-23 10:00

Usage

Format: event TASK DESCRIPTIONS /at SPECIFIC DATE AND TIME (FORMAT:yyyy-MM-dd’T’HH:mm)

Example of usage:

event project meeting /at 2020-12-12 10:00

Expected outcome:

Got it. I've added this task:
  [E][✘] project meeting (at: Sunday, Jan 12 2020 07:21:00 AM)
Now you have 17 tasks in the list.


Listing task information: list


Display the text entered by the user back to the user when requested. The list contains the task details.

Usage

Format: list

Example of usage:

list

Expected outcome:

Here are the tasks in your list:
1.[T][✓] write a program
2.[E][✓] visit zoo (at: Sunday, Jan 12 2020 07:21:00 AM)
3.[D][✓] read book (by: Sunday, October 11, 2020)
4.[T][✓] meet friends
5.[E][✓] be happy (at: Sunday, Jan 12 2020 07:21:00 AM)
6.[D][✘] to submit assignment (by: Sunday, October 11, 2020)
7.[D][✓] check coding (by: Sunday, October 11, 2020)
8.[T][✘] add book to list
9.[T][✓] checking
10.[E][✘] class (at: Sunday, Jan 12 2020 07:21:00 AM)
11.[D][✓] submit assignment (by: Sunday, October 11, 2020)
12.[T][✘] add more function
13.[T][✘] borrow book
14.[T][✘] return book
15.[D][✘] return book (by: Sunday, October 11, 2020)
16.[D][✘] read book (by: Sunday, October 11, 2020)
17.[E][✘] project meeting (at: Sunday, Jan 12 2020 07:21:00 AM)
18.[E][✘] class meeting (at: Sunday, Jan 12 2020 07:21:00 AM)


Finding all tasks containing any keyword: find


Finds tasks which contain any of the given keywords.

Usage

Format: find KEYWORD [MORE_KEYWORDS]

Example of usage:

find book

Expected outcome:

Here are the matching tasks in your list:
1.[D][✓] read book (by: Sunday, October 11, 2020)
2.[T][✘] add book to list
3.[T][✘] borrow book
4.[T][✘] return book
5.[D][✘] return book (by: Sunday, October 11, 2020)
6.[D][✘] read book (by: Sunday, October 11, 2020)


Deleting a task: delete


Deletes the specified task from the task list. Irreversible.

Usage

Format: delete INDEX

Select the task to delete based on the specified INDEX. The index refers to the index number shown in the most recent listing.

Example of usage:

list
delete 4
Deletes the 4th task in the task list.

Expected outcome:

Noted. I've removed this task:
  [T][✘] write a song
Now you have 3 tasks in the list.


Mark as Done of a task: done


Mark specified task as done.

Usage

Format: done INDEX

Mark as Done of the task at the specified INDEX. The index refers to the index number shown in the most recent listing.

Example of usage:

list
done 4
Marks the 4th task in the task list as done.

Expected outcome:

Nice! I've marked this task as done:
[✓] set a meeting


Clearing all entries: clear


Clears all entries from the address book.

Usage

Format: clear

Example of usage:

clear

Expected outcome:

The Task list initially:
[[T][✓] have dinner, [T][✘] buy book, [T][✘] visit friends, [T][✓] set a meeting]
The Task list after using clear() method:[]


Exiting the program: bye


Exits the program.

Usage

Format: bye

Example of usage:

bye

Expected outcome:

Bye. Hope to see you again soon!


Loading the data


Auto-load the data from the hard disk when duke starts up.
The file name and location e.g., [project_root]/data/duke.txt


Saving the data


Save the tasks in the hard disk automatically whenever the task list changes. There is no need to save manually. If there is no existing txt file, or data folder. The program can auto create a txt file and save the data in the hard disk.


Sorting all tasks: sort


Compares tasks in the list to sort tasks by task status (isDone), by task description.

Usage

Format: sort

Example of usage:

sort

Expected outcome:

Hi, your tasks have been sorted based on Task Status and Description. Thanks
1.[D][✓] eat (by: Saturday, September 19,2020)
2.[T][✓] go to school,buy book
3.[T][x] birthday
4.[D][x] to do homework (by: Saturday, September 19,2020)