Duke

Logo

A ChatBot to Track Tasks

View the Project on GitHub RezwanArefin01/ip

Table of Contents

Introduction

Duke is a personal chat-bot to help you keep track of your tasks, events, or deadlines. It is optimized for keyboard users, but has a GUI for the looks as well.

Getting Started

Features

Commands

Add a todo task: todo DESCRIPTION

Adds a task with the given DESCRIPTION.

Example of usage:

todo Return CLRS book to the library.
> I've added the following task:
>   [📝][ ] Return CLRS book to the library.

Add a deadline task: deadline DESCRIPTION / DATE TIME

Adds a task with the given DESCRIPTION and a deadline specified by DATE and TIME.

Date format

Time format:

Example of usage:

deadline CS2103T iP / 16-09-2022 2359
> I've added the following task:
>   [⏰][ ] CS2103T iP (by: 16 Sep 2022 11:59 PM)

Add an event: event DESCRIPTION / DATE TIME

Adds an event with the given DESCRIPTION and a time specified by DATE and TIME.

Date and time format is the same as the deadline command.

Example of usage:

event CS2103T lecture / 16-09-2022 1600
> I've added the following task:
>   [📅][ ] CS2103T lecture (at: 16 Sep 2022 4:00 PM)

List all tasks: list

Lists all tasks in the task list.

Example of usage:

list
> List of tasks:
>   1. [📝][ ] Return CLRS book to the library.
>   2. [⏰][ ] CS2103T iP (by: 16 Sep 2022 11:59 PM)
>   3. [📅][ ] CS2103T lecture (at: 16 Sep 2022 4:00 PM)

Mark a task as done: check INDEX

Marks the task at the given INDEX as done.

You may want to use the list command to find the index of the task you want to mark as done.

Example of usage:

check 1
> I've updated the following task:
>   [📝][✔] Return CLRS book to the library.

Mark a task as not done: uncheck INDEX

Marks the task at the given INDEX as not done.

Example of usage:

uncheck 1
> I've updated the following task:
>   [📝][ ] Return CLRS book to the library.

Delete a task - delete INDEX

Deletes the task at the given INDEX.

Example of usage:

delete 1
> I've deleted the following task:
>   [📝][ ] Return CLRS book to the library.
list
> List of tasks:
>   1. [⏰][ ] CS2103T iP (by: 16 Sep 2022 11:59 PM)
>   2. [📅][ ] CS2103T lecture (at: 16 Sep 2022 4:00 PM)

Find tasks by keyword: find KEYWORD

Finds all tasks that contain the given KEYWORD. The search is case-insensitive.

Example of usage:

find cS
> Task containing the keyword "cS":
>   1. [⏰][ ] CS2103T iP (by: 16 Sep 2022 11:59 PM)
>   2. [📅][ ] CS2103T lecture (at: 16 Sep 2022 4:00 PM)

Show help message: help

Shows a help message with a list of commands and their usage.

Exit the program: exit

Exits the program with a goodbye message.

Advanced Features

Data File

All the data is saved in the file ./data/data.txt, relative to the directory you execute the jar from. You can modify task list by directly editing this file. Each line of the file describes one task. The format is the following:

TASK SYMBOL | IS DONE? | DESCRIPTION [| ARGS...]

Example data file:

T | 0 | Return CLRS book to the library.
D | 0 | CS2103T iP. | 16-9-22 2359
E | 0 | CS2103T lecture. | 16-9-22 1800

However, do note that if the data file is corrupted, Duke will not startup. It will show you a warning about the corruption and you can choose to keep the file and investigate, or start with a new file.