ip

A desktop Task Manager app built with JavaFx and optimised for CLI commands.

Download as .zip Download as .tar.gz View on GitHub

B.O.B Task Manager User Guide

A todo task manager bot to record and store list of tasks.

image

Image Source: MrDestructoid (Twitch Emote)

Download Jar

Features

Below are the features currently implemented:

  1. Add Adding tasks to the bot.
  2. List Listing all existing tasks.
  3. Marking Done Mark completed tasks as done.
  4. Delete Deleting tasks using index.
  5. Find Finding tasks based on keywords.
  6. Remind Remind Users about upcoming tasks.
  7. Storage & Retrieval Storing of tasks in local drive.

Feature Details

Feature 1 - Adding tasks

The user will be able to add new tasks into B.O.B Task Manager.

There are 3 types of tasking of which the user can segment his tasks into.

Todo

Adds a todo task with task description into B.O.B Task Manager.

Command Syntax

todo <task description> 

Example of usage:

todo read book

Expected outcome:

CLI:

ADDED: [TODO][X] read book
Current Total Tasks: 1 task

GUI

image

Event

Adds an event task with the task description and Date and Time into B.O.B Task Manager.

Command Syntax

event <task description>/at<Date & Time>

Date & Time format: yyyy-MM-dd HHmm

Example of usage:

event watch movie/at2021-02-14 1700

Expected outcome:

CLI:

ADDED: [EVENT][X] watch movie (at: Feb 14 2021, 17:00)
Current Total Tasks: 2 tasks

GUI:

image

Deadline

Adds a deadline task with the task description and Date and Time into B.O.B Task Manager.

Command Syntax

deadline <task description>/by<Date & Time>

Date & Time format: yyyy-MM-dd HHmm

Example of usage:

deadline return book/by2021-03-11 2359

Expected outcome:

CLI:

ADDED: [DEADLINE][X] return book (by: Mar 11 2021, 23:59)
Current Total Tasks: 3 tasks

GUI:

image


Feature 2 - Listing tasks

The user will be able to list all existing tasks in B.O.B Task Manager.

Command Syntax

list

Example of usage:

list

Expected outcome:

CLI:

Ok Human. Here are your tasks:
    1. [TODO][X] read book
    2. [EVENT][X] watch movie (at: Feb 14 2021, 17:00)
    3. [DEADLINE][X] return book (by: Mar 11 2021, 23:59)

GUI:

image


Feature 3 - Marking Done

Marks the completion of a task using the index of the task.

Completion status is indicated by a X or .

Command Syntax

  done <index of task>

Note: The index of the task corresponds to the number beside it when listed, you can simply use list to get the index of the task.

Example of usage:

done 1

Expected outcome:

CLI:

Noted Human. I've marked this task as done:
[TODO][✓] read book

GUI:

image


Feature 4 - Delete

Deletes a task from the list using the index of the task.

Command Syntax

  delete <index of task>

Note: The index of the task corresponds to the number beside it when listed, you can simply use list to get the index of the task.

Example of usage:

delete 1

Expected outcome:

CLI:

Task deleted successfully:
[TODO][✓] read book
Current Total Tasks: 2 tasks

GUI:

image


Feature 5 - Find

Find task(s) from the list using a given keyword and lists only the relevant task(s).

Command Syntax

  find <key word(s)>

Example of usage:

find book

Expected outcome:

CLI:

Ok Human. Here are the tasks I found:
1: [DEADLINE][X] return book (by: Mar 11 2021, 23:59)

GUI:

image


Feature 6 - Remind

Show upcoming task(s), and optional number of days argument can be given to specify the maximum time span (in days) for the task to be considered ‘upcoming’.

Command Syntax

   remind or

   remind <number of days>

Note: If number of days not specified, the default time span is 3 days. This can be configured in the line below in RemindCommand.java

  private static final int DEFAULT_NUM_DAYS = 3;

Full file path relative to root of project folder: /src/main/java/duke/command/RemindCommand.java

Example of usage:

remind 30

Expected outcome:

CLI:

Ok Human. Here are the tasks I found:
1: [DEADLINE][X] return book (by: Mar 11 2021, 23:59)

GUI:

image


Feature 7 - Storage and Retrieval of Tasks

B.O.B Task Manager will attempt to retrieve stored tasks from a storage file in your local computer. Upon launching, it will parse through the text file and populate the application with the stored data.

If there are no storage files are found, a text file named tasks.txt will be
in created in the root directory of the project. All subsequent information will be stored in this file.

The default file path is set as shown below:

private final String defaultPath = "./tasks.txt";

If you would like to change the default directory or change the filename, you can edit the above code in Storage.java.

Full file path relative to root of project folder: /src/main/java/duke/Storage.java


THE END