By: Wang Yuting Since: Feb 2020

1. Introduction

Hakuna Matata is a task management chat bot for people who is comfortable with Command Line Interface (CLI), which allows users to keep track of their different types of tasks (Todo, Deadline and Event). Besides some basic functions (Browse, Create, Delete, Change Status), it also provides functions as Find and Sort.

More importantly, even though Hakuna Matata mainly relys on CLI command, it also provides a nice Graphical User Interface (GUI) design.

Jump to the Section 2, “Quick Start” to get started. Enjoy!

2. Quick Start

  1. Ensure you have Java 11 or above installed in your Computer.

  2. Download the latest hakunamatata.jar here.

  3. Copy the file to the folder you want to use as the home folder for your tasks.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

    Ui
  5. Type the command in the command box and press Enter or click Send to execute it.

  6. Available command and valid examples (more test commands) :

    • list : lists all tasks.

    • todo homework: add a new todo task with homework as description.

    • deadline assignment /by 20:00 20/02/2020: add a new deadline task with description: assignment, due by: 20:20 20/02/2020.

    • event team meeting /at 15:00 18/02/2020 17:00 18/02/2020: add a new event task with description: team meeting, start at: 15:00 18/02/2020, and end at : 17:00 18/02/2020/.

    • done 1: mark the 1st task in the task list as completed.

    • delete 2 : deletes the 2nd task from the task list.

    • find ass : filter and show all tasks contains "ass" in its description.

    • sort description : sort and show task list base on tasks' description.

    • sort deadline : sort and show task list base on tasks' deadline.

    • bye : exits the app

  7. Refer to Section 3, “Features” for details of each command.

3. Features

Command Format Tips

  • Date&Time format hh:mm dd/mm/yyyy e.g. 15:00 18/02/2020

  • Index range: start from 1

  • Case insensitive: the keywords are not case sensitive. e.g. List, list and LIST will performs the same action.

3.1. Viewing all tasks : list

Format: list

3.2. Adding a todo task: todo

Add a new todo task with certain description in your task list. Format: todo desc

Tip
The description is compulsory

Examples:

  • todo homework

  • Todo homework

todo demo
Figure 1. todo command demo

3.3. Adding a deadline task: deadline

Add a new deadline task with certain description and the date&time of its deadline in your task list.
Format: deadline desc /by date&time

Tip
The description and date&time are compulsory
The /by keyword is used to divide the description and date&time
Date&time format : hh:mm dd/mm/yyyy

Examples:

  • deadline CS2103T IP tag A-UserGuid /by 23:59 18/02/2020

  • deadline CS2101 presentation reflection /by 23:59 18/02/2020

3.4. Adding an event task: event

Add a new event task with certain description and the start and end date&time to your task list.
Format: event desc /at date&time date&time

Tip
The description and date&time are compulsory
The /at keyword is used to divide the description and date&time
The 1st date&time is the start date, the 2nd date&time is the end date
Date&time format : hh:mm dd/mm/yyyy

Examples:

  • event CS2103T team meeting /at 15:00 18/02/2020 17:00 18/02/2020

  • event CS2101 team meeting /at 17:00 18/02/2020 19:00 18/02/2020

3.5. Marking a task as done : done

Mark a pending task as completed.
Format: done index

Tip
The index is compulsory
The index of a task starts from 1
Cannot mark a completed task as done

Example:

  • done 1

3.6. Deleting a task: delete

Delete an existing task from task list.
Format: delete index

Tip
The index is compulsory
The index of a task starts from 1

Example:

  • delete 1

delete demo
Figure 2. delete command demo

Once a task is deleted from the task list successfully, the rest of tasks will automatically update their index number to make sure their indexes are consecutive.

3.7. Finding a task: find

Filter and show tasks base on their description using custom search keyword.
Format: find searchTerm

Tip
The search term is compulsory

Example:

  • find assignment

3.8. Sorting tasks: sort

Sort the tasks by its deadline/description.
Format: sort deadline or sort description

Tip
Sort will not update the index number of each tasks.
Their index only reflects the order of creation.
sort deadline demo
Figure 3. sort deadline command demo

3.9. Exiting the program : bye

Exits the program.
Format: bye

Tip
Press enter again the window will automatically close after the exit command.
bye demo
Figure 4. bye command demo

4. Command Summary

  • list

  • todo desc

  • deadline desc /by hh:mm dd/mm/yyyy

  • event desc /at hh:mm dd/mm/yyyy hh:mm dd/mm/yyyy

  • done index

  • delete index

  • find searchTerm

  • sort description or sort deadline

  • bye