KarenBot

User Guide

KarenBot is a rude, self entitled desktop chatbot that will help you remember your tasks, all for the low cost of having to deal with her attitude. KarenBot is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). KarenBot is best suited for the quick typist, maximising your productivity by spending less time on handling your tasks!

  1. Quick start
  2. Features
  3. Usage
  4. Command summary
  5. Product screenshots

Quick start

  1. Ensure you have Java 11 or above installed in your Computer.
  2. Download the latest duke.jar from here.
  3. Copy the file to the folder you want to use as the home folder for your KarenBot.
  4. Navigate to the folder containing KarenBot via CLI.
  5. Run KarenBot using the following command: java -jar duke.jar
  6. The GUI similar to the below should appear in a few seconds.

Freshly started KarenBot

  1. Type the command in the input box and press Enter to execute it.
    e.g., typing help and pressing Enter will display a list of possible commands. Some example commands you can try:
    • add todo Get groceries: Adds a Todo with the description Get groceries to the list of tasks.
    • list: Lists all tasks.
    • mark 1: Marks the task with index 1 (as indicated by list) as done.
    • unmark 1: Marks the task with index 1 (as indicated by list) as not done.
    • delete 1: Deletes the task with index 1 (as indicated by list) from the list of tasks.
    • exit: Exits the app.
  2. Refer to Features below for more detailed descriptions of each command.

Features

Modifying saved data

KarenBot stores saved data in a text file named duke.txt. Advanced users can directly modify the text files if they find it quicker for niche actions such as mass deletion. The text file can be located in a folder named data in KarenBot’s folder.

Safeguarding against data corruption

On the event of a corruption of the text file duke.txt due to user modifications and KarenBot is unable to parse it, KarenBot can prevent loss of user data by renaming the corrupted file to duke-corrupt.txt and continue to operate in a clean state. Users can then attempt to fix the erroneous modification (ensure that the file is renamed back to duke.txt). If there exists corrupted files already, KarenBot will not overwrite duke-corrupt.txt. Instead, an incremental version, e.g., duke-corrupt1.txt will be created.

Usage

Note:

help: Viewing list of all possible commands

Displays a list of all possible commands.

Format: help

add todo: Adds a Todo

Adds a Todo to the list of tasks.

Format: add todo <description>

add deadline: Adds a Deadline

Adds a Deadline to the list of tasks. A Deadline is used to create tasks due by a specific time.

Format: add deadline <description> /by <time>
Example:

Note: time is formatted as yyyy-mm-dd HH:MM. Allowed delimiter characters are: -:.|/.

add event: Adds an Event

Adds an Event to the list of tasks. An Event is used to create tasks happening at a specific time.

Format: add event <description> /at <time>
Example:

Note: time is formatted as yyyy-mm-dd HH:MM. Allowed delimiter characters are: -:.|/.

list: Lists all tasks

Displays a list of all tasks.
Format: list

mark: Marks a task as done

Marks a specified task as done.
Format: mark <task index>
Example:

Note: task index can be found by performing the list command.

unmark: Marks a task as not done

Marks a specified task as not done.
Format: unmark <task index>
Example:

Note: task index can be found by performing the list command.

delete: Deletes a task

Deletes a specified task.
Format: delete <task index>
Example:

Note: task index can be found by performing the list command.

find: Find tasks using keyword

Finds all tasks whose description matches the keyword.
Format: find <keyword>
Example:

view: View tasks happening within a specific period

Displays a list of tasks happening within a specific period.
Format: view <period>
Example:

Note: There are 3 different types of period specifiable, namely:

exit: Exits the program

Exits KarenBot.
Format: exit

Command summary

Command Description
help Displays a list of all possible commands.
add todo <description> Adds a Todo with the given description.
add deadline <description> /by <time> Adds a Deadline with the given description and time.
add event <description> /at <time> Adds an Event with the given description and time.
list Displays a list of all tasks.
mark <task index> Marks the task with the given task index as done.
unmark <task index> Marks the task with the given task index as not done.
delete <task index> Deletes the task with the given task index.
find <keyword> Finds all tasks whose description matches the keyword.
view <period> Displays a lists of tasks happening within a specific period.
exit Exits KarenBot.

Product screenshots

Main window