Introduction
1.1 What is Duke ChatBot
1.2 Who Should Use It
1.3 Typographical Conventions
Features
2.1 Types of Tasks
2.2 Adding of Tasks
2.3 Listing Tasks
2.4 Handling of Tasks
2.5 Finding Tasks
2.6 Sorting Tasks
2.7 Mass Operation of Tasks
2.8 Exiting of Program
Data Analysis
3.1 Viewing of Statistics by Time
3.2 Collection of Data
Duke ChatBot is a task managing chat bot which allows users to input the tasks to do and organise them. It tracks tasks that are marked as done over a period of time and displays relevant statistics.
This is what Duke ChatBot looks like:
This application aims to be beginner friendly and is intended for users who wants to keep track of the list of tasks to do and enhance their productivity.
This document uses the following typographical conventions:
sort |
A mark-up indicates that this is a command that can be type into the command line and executed by the application. |
:exclamation: | An exclamation sign indicates important information. |
This application stores 3 different types of tasks:
todo
A Todo task represents a task to be done without any time limit.
deadline
A Deadline task represents a task to be done by a certain date and time.
event
An Event task represents an event to attend at a certain date and time.
This section contains the commands to be keyed in to add different type of task.
To key in a todo
task: todo
[description of task]
Example of usage: todo music homework
Expected Outcome: Got it. Ive added this task:
[T][✗] music homework
Now you have 1 task in the list.
To key in a deadline
task: deadline
[description of task] /by [dd/MM/yyyy] [HHmm]
Example of usage: deadline music project /by 6/4/2023 0123
Expected Outcome: Got it. Ive added this task:
[D][✗] music project (by: 6/4/2023 01.23AM)
Now you have 2 tasks in the list.
:exclamation: /by
must be included in the command.
To key in an event
task: event
[description of task] /at [dd/MM/yyyy] [HHmm]
Example of usage: event music festival /at 6/4/2022 0123
Expected Outcome: Got it. Ive added this task:
[E][✗] music festival (at: 6/4/2022 01.23AM)
Now you have 3 tasks in the list.
:exclamation: /at
must be included in the command.
:exclamation: Both Deadline and Todo task must include a valid timestamp in [dd/MM/yyyy] [HHmm] format.
To list
all tasks recorded: list
Example of usage: list
Expected Outcome: Here are the tasks in your list:
1.[T][✗] music homework
2.[D][✗] music project (by: 6/4/2023 01.23AM)
3.[E][✗] music festival (at: 6/4/2022 01.23AM)
This section contains the commands to be keyed in to handle tasks.
To execute the following commands, list
out the list of tasks as shown in the previous section and note the index of the task to operate on.
To mark the task as done
: done
[index of the task in the list]
Example of usage: done 1
Expected Outcome: Nice! I've marked this task as done:
[T][✓] music homework
To delete
the task: delete
[index of the task in the list]
Example of usage: delete 1
Expected Outcome: Noted. I've removed this task:
[T][✓] music homework
Now you have 2 tasks in the list.
To find
tasks using a keyword: find
[keyword]
Example of usage: find music
Expected Outcome: Here are the matching task in your list:
1.[D][✗] music project (by: 6/4/2023 01.23AM)
2.[E][✗] music festival (at: 6/4/2022 01.23AM)
:exclamation: The keyword must only consists of one word.
To sort
tasks according to the dates and time in a chronological order: sort
Example of usage: sort
Expected Outcome: Here are the tasks in your list:
1.[E][✗] music festival (at: 6/4/2022 01.23AM)
2.[D][✗] music project (by: 6/4/2023 01.23AM)
:exclamation: If the list contains a deadline
or event
task, it will take priority over a todo
task as it is assumed that a todo
task is of lower priority.
:exclamation: If two deadline
or event
tasks have the same timestamp, the tasks would be sorted according to their descriptions in a alphabetical order. The same rule also applies for todo
task.
To execute the same command to multiple tasks at once, add ,
between the indexes of the tasks.
Example of usage: delete 1, 2
Expected Outcome: Noted. I've removed these task:
[T][✓] music homework
[D][✗] music project (by: 6/4/2023 01.23AM)
Now you have 1 task in the list.
:exclamation: This only applies to done
, delete
, find
commands.
To exit the program: bye
Example of usage: bye
Expected Outcome: Bye!!! Hope to see you again soon!
:exclamation: The program will exit immediately after this command.
To view an overview of the tasks done over time, there are two ways:
Key in show stats
in the command line: show stats
This is an example of an expected chart:
The list of all the tasks is located in the data directory and is named as tasks.txt
.
The storage file is easy to read and edit.
Note that the file follows the following format:
|
.Letter | Task |
---|---|
T | todo |
D | deadline |
E | event |
deadline
or event
task. The timestamp will be in the format [dd/MM/yyyy HHmm].This is an example of a sample text file:
Term | Description |
---|---|
Command Line Interface | The horizontal pale yellow box on bottom left corner of the application |
Mark-up | A grey highlight over the words |
Timestamp | A sequence of characters or encoded information identifying when a certain event occurred, usually giving date and time of day |