forked from nus-cs2113-AY2425S1/ip
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
112 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,72 +1,140 @@ | ||
# JEFF Task Chatbot | ||
# Jeff User Guide | ||
|
||
## Jeff User Guide | ||
## Introduction | ||
|
||
**JEFF** is a temperamental Java chatbot who (begrudgingly) keeps track of your tasks! | ||
Jeff is command-line-based chatbot to help users keep track of their tasks! | ||
There are 3 types of tasks available in Jeff: `Todo`, `Deadline` and `Event` | ||
|
||
This guide will bring you through the various features of Jeff, and how to utilise them! | ||
|
||
## Jeff's Features | ||
|
||
### 1. Adding a Todo Task: `todo` | ||
**Purpose**: Add a non-time-sensitive tasks to the task list. | ||
|
||
**Purpose**: Adds a non-time-sensitive task to the task list. | ||
|
||
**Format**: `todo [description]` | ||
- `description` field must be non-empty. | ||
**Examples**: | ||
- `todo homework` | ||
- `todo something fun` | ||
- `description` field must be non-empty. | ||
|
||
**Example**: `todo homework` | ||
|
||
**Expected output**: | ||
``` | ||
Haiyaa the following task needs to be done: | ||
[T][ ] homework | ||
Now you have 1 task(s) in ur list | ||
``` | ||
|
||
### 2. Adding a Deadline Task: `deadline` | ||
**Purpose**: Adds a task due by a specific date to the task list. | ||
|
||
**Format**: `deadline [description] [/by yyyy-MM-dd]` | ||
- `description` and `by` fields must be non-empty. | ||
- `by` field must be in the specified date format. | ||
**Examples**: | ||
- `deadline homework /by 2025-10-02` Adds a deadline task with a description 'homework', which is to be | ||
completed by 2nd October 2025. | ||
|
||
### 3. Adding an Event Task | ||
**Purpose**: Adds a tasks which will happen within a specific date range. | ||
- `description` and `by` fields must be non-empty. | ||
- `by` field must be in the specified date format. | ||
|
||
**Example**: `deadline homework /by 2025-10-02` | ||
|
||
**Expected output**: | ||
``` | ||
Haiyaa the following task needs to be done: | ||
[D][ ] homework (by: Oct 2 2025) | ||
Now you have 2 task(s) in ur list | ||
``` | ||
|
||
### 3. Adding an Event Task: `event` | ||
**Purpose**: Adds a task which will happen within a specific date range. | ||
|
||
**Format**: `event [description] [/from yyyy-MM-dd] [/to yyyy-MM-dd]` | ||
- `description`, `from` and `to` fields must be non-empty. | ||
- `from` and `to` fields must be in the specified date format. | ||
**Examples**: | ||
- `event do homework /from 2025-10-02 /to 2025-10-03` Adds an event task with a description 'do homework', | ||
to be done from 2nd October to 3rd October 2025. | ||
- `description`, `from` and `to` fields must be non-empty. | ||
- `from` and `to` fields must be in the specified date format. | ||
|
||
**Example**: `event do homework /from 2025-10-02 /to 2025-10-03` | ||
|
||
**Expected output**: | ||
``` | ||
Haiyaa the following task needs to be done: | ||
[E][ ] do homework (from: Oct 2 2025 to: Oct 3 2025) | ||
Now you have 3 task(s) in ur list | ||
``` | ||
|
||
### 4. Listing all Tasks: `list` | ||
**Purpose**: Displays all tasks the user has added. | ||
|
||
**Format**: `list` | ||
|
||
**Example Output**: | ||
``` | ||
1. [D][ ] Finish homework (by: Aug 9 1990) | ||
... | ||
``` | ||
|
||
### 5. Marking/Unmarking a Task: `mark` / `unmark` | ||
**Purpose**: Mark a task as done or undone. | ||
**Format**: | ||
- `mark [task index]` | ||
- `unmark [task index]` | ||
**Examples**: | ||
- `mark 1` | ||
Output: `Marked task: [D][X] Finish homework (by: Aug 9 1990)` | ||
|
||
- `unmark 1` | ||
Output: `Unmarked task: [D][ ] Finish homework (by: Aug 9 1990)` | ||
|
||
### 6. Deleting a Task: `delete` | ||
``` | ||
orh hor never finish ur tasks: | ||
1.[T][ ] homework | ||
2.[D][ ] homework (by: Oct 2 2025) | ||
3.[E][ ] do homework (from: Oct 2 2025 to: Oct 3 2025) | ||
``` | ||
|
||
### 5. Marking a task: `mark` | ||
**Purpose**: Mark a task which is complete by specifying its task number. | ||
|
||
**Format**: `mark [task index]` | ||
|
||
**Example**: `mark 1` | ||
|
||
**Expected Output**: | ||
``` | ||
ogei marked task dOnE | ||
[T][X] homework | ||
``` | ||
|
||
### 6. Unmarking a task: `unmark` | ||
**Purpose**: Unmark a task which is uncomplete by specifying its task number. | ||
|
||
**Format**: `unmark [task index]` | ||
|
||
**Example**: `unmark 1` | ||
|
||
**Expected Output**: | ||
``` | ||
womp womp task not finished :( | ||
[T][ ] homework | ||
``` | ||
|
||
### 7. Deleting a Task: `delete` | ||
**Purpose**: Removes a task from your list. | ||
|
||
**Format**: `delete [task index]` | ||
|
||
**Example**: `delete 1` | ||
|
||
### 7. Finding a Task: `find` | ||
**Expected Output**: | ||
``` | ||
i have reeeemoved the taskkk: | ||
[T][ ] homework | ||
YAYYYY!!! Only 2 task(s) left in ur list! | ||
``` | ||
|
||
### 8. Finding a Task: `find` | ||
**Purpose**: Find a task from your list based on a keyword that matches the task description. | ||
|
||
**Format**: `find [keyword]` | ||
**Example**: `find somekeyword` | ||
|
||
### 8. Exiting the Program: `bye` | ||
**Example**: `find homework` | ||
|
||
**Expected Output**: | ||
``` | ||
here's all ur matches: | ||
1.[D][ ] homework (by: Oct 2 2025) | ||
2.[E][ ] do homework (from: Oct 2 2025 to: Oct 3 2025) | ||
``` | ||
|
||
### 9. Exiting the Program: `bye` | ||
|
||
**Purpose**: Exit the chatbot. | ||
|
||
**Format**: `bye` | ||
|
||
**Expected Output**: | ||
``` | ||
Bye. Hope to see you again soon! | ||
``` | ||
|
||
### Saving the Data | ||
JEFF automatically saves your tasks to a text file located in the `data` folder. | ||
> **Note**: Please do not manually edit the text file, as incorrect formatting may cause data loss. | ||
Jeff automatically saves your tasks to a text file located in the `data` folder. | ||
> **Note**: Do not manually edit the text file, as incorrect formatting may cause data loss. |