diff --git a/docs/README.md b/docs/README.md index e4e250dc8d..1bca3fd8df 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,30 +1,174 @@ # Banter User Guide -// Update the title above to match the actual product name +![Screenshot of a comment on a GitHub issue showing an image, added in the Markdown, of an Octocat smiling +and raising a tentacle.](./Ui.png) -// Product screenshot goes here +Banter is an **app for managing tasks**, optimized for use via a **Command Line Interface (CLI)**, while still having +the benefits of a **chat-bot Graphical User Interface (GUI)**. If you can type fast, Banter can get your tasks +management done faster than traditional GUI apps. -// Product intro goes here +--------------------------------------- -## Adding deadlines +## Quick start -// Describe the action and its outcome. +1. Ensure you have Java `11` or above installed in your Computer. +2. Download the latest `banter.jar` +3. Copy the file to the folder you want to use as the home folder for Banter. +4. Open a command terminal, `cd` into the folder you put the jar file in, and use the `java -jar addressbook.jar` +command to run the application. A GUI similar to the below should appear in a few seconds. +![Screenshot of the Banter GUI](./Start.png) +5. Type the command in the command box and press Enter to execute it. e.g. typing `help` and pressing Enter will +6. Refer to the [Features](#features) below for details of each command. -// Give examples of usage +--------------------------------------- -Example: `keyword (optional arguments)` +## Command summary -// A description of the expected outcome goes here +| Action | Format, Examples | +|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------| +| Add todo | `todo `
e.g. `todo read book` | +| Add deadline | `deadline /by `
e.g. `deadline return book /by 1/12/2024` | +| Add event | `event /from /to `
e.g. `event project
meeting /from 12/12/2024 0900 /to 12/12/2024 1800` | +| List all tasks | `list` | +| Mark as done | `mark `
e.g. `mark 1` | +| Unmark as not done | `unmark `
e.g. `unmark 1` | +| Find matching tasks by keywords | `find `
e.g. `find meeting project` | +| Delete task | `delete `
e.g. `delete 1` | +--------------------------------------- + +## Features + +> [!NOTE] +> **Notes about the command format:** +> * The following date time formats are supported: +> * `d/M/yyyy HHmm` (e.g. 1/12/2024 1800) +> * `d/M/yyyy` (e.g. 1/12/2024) +> * `dd/MM/yyyy HHmm` (e.g. 01/12/2024 1800) +> * `dd/MM/yyyy` (e.g. 01/12/2024) +> * Words in `` are the parameters to be supplied by the user. +> * Parameters must be in the order specified. +> * Extraneous parameters for commands that do not take in parameters (such as list) will be ignored. + +### Adding todos + +Adds a todo to the task list. Todos are tasks that need to be done, but do not have a deadline. + +Format: `todo ` + +Example: `todo read book` + +Expected outcome: +``` +Got it. I've added this task: +[T][ ] read book +Now you have 1 tasks in the list. +``` + +### Adding deadlines + +Adds a deadline to the task list. Deadlines are tasks that need to be done by a certain date. + +Format: `deadline /by ` + +Example: `deadline return book /by 1/12/2024` + +Expected outcome: +``` +Got it. I've added this task: +[D][ ] return book (by: 1/12/2024) +Now you have 2 tasks in the list. +``` + +### Adding events + +Adds an event to the task list. Events are tasks that start and end at a certain time. + +Format: `event /from /to ` + +Example: `event project meeting /from 12/12/2024 0900 /to 12/12/2024 1800` + +Expected outcome: +``` +Got it. I've added this task: +[E][ ] project meeting (from: 12/12/2024 0900 to: 12/12/2024 1800) +Now you have 3 tasks in the list. +``` + +### Deleting tasks + +Deletes a task from the task list. + +Format: `delete ` + +Example: `delete 1` + +Expected outcome: +``` +Noted. I've removed this task: +[T][ ] read book +Now you have 2 tasks in the list. +``` + +### List all tasks + +Shows a list of all tasks in the task list. + +Format: `list` + +Example: `list` + +Expected outcome: +``` +Here are the tasks in your list: +1. [D][ ] return book (by: 1/12/2024) +2. [E][ ] project meeting (from: 12/12/2024 0900 to: 12/12/2024 1800) +3. [T][ ] read book +``` + +### Mark as done + +Marks a task as done. + +Format: `mark ` + +Example: `mark 1` + +Expected outcome: ``` -expected output +Nice! I've marked this task as done: +[D][X] return book (by: 1/12/2024) ``` -## Feature ABC +### Unmark as not done + +Unmarks a task as done. -// Feature details +Format: `unmark ` +Example: `unmark 1` + +Expected outcome: +``` +Nice! I've unmarked this task as not done: +[D][ ] return book (by: 1/12/2024) +``` -## Feature XYZ +### Find matching tasks by keywords + +Finds tasks that match the given keywords. The search is case-insensitive. Keywords can be ordered in any way. + +Format: `find ` + +Example: `find meeting project` + +Expected outcome: +``` +Here are the matching tasks in your list: +1. [E][ ] project meeting (from: 12/12/2024 0900 to: 12/12/2024 1800) +``` -// Feature details \ No newline at end of file +> [!CAUTION] +> **Caution about editing stored data file:** +> Do not edit the data file `tasklist.txt` manually. If you do, Banter may not be able to read the file, +> and you may lose your data or crash the program. diff --git a/docs/Start.png b/docs/Start.png new file mode 100644 index 0000000000..25f0a9b7a0 Binary files /dev/null and b/docs/Start.png differ diff --git a/docs/Ui.png b/docs/Ui.png new file mode 100644 index 0000000000..35a227db78 Binary files /dev/null and b/docs/Ui.png differ