diff --git a/README.md b/README.md index 8715d4d91..6500b5a67 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,100 @@ -# Duke project template +# Duke individual project -This is a project template for a greenfield Java project. It's named after the Java mascot _Duke_. Given below are instructions on how to use it. +This is a project for a task organiser app. It's named after the Java mascot _Duke_. Given below are instructions on how to use it. -## Setting up in Intellij +## User Guide +1. [Setting up](#setting-up) +2. [Features](#features) + 1. [Adding a task```todo```](#adding-a-task-todo),[Adding a task```deadline```](#adding-a-task-deadline),[Adding a task```event```](#adding-a-task-event) + 2. [Deleting a task```delete```](#deleting-a-task-delete) + 3. [Marking a task as done```mark```](#Marking-a-task-as-done-mark) + 4. [Unmarking a task as done```unmark```](#Unmarking-a-task-as-done-unmark) + 5. [Finding tasks```find```](#Finding-tasks-find) + 6. [Displaying all tasks```list```](#Displaying-all-tasks-list) + 7. [Exit Duke`bye`](#exit-duke-bye) + +## Setting Up Prerequisites: JDK 11, update Intellij to the most recent version. -1. Open Intellij (if you are not in the welcome screen, click `File` > `Close Project` to close the existing project first) -1. Open the project into Intellij as follows: - 1. Click `Open`. - 1. Select the project directory, and click `OK`. - 1. If there are any further prompts, accept the defaults. -1. Configure the project to use **JDK 11** (not other versions) as explained in [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk).
- In the same dialog, set the **Project language level** field to the `SDK default` option. -3. After that, locate the `src/main/java/Duke.java` file, right-click it, and choose `Run Duke.main()` (if the code editor is showing compile errors, try restarting the IDE). If the setup is correct, you should see something like the below as the output: - ``` +When run correctly, you should see something like this below as the output: + ```` Hello from ____ _ | _ \ _ _| | _____ | | | | | | | |/ / _ \ | |_| | |_| | < __/ |____/ \__,_|_|\_\___| - ``` + ```` + +## Features +This section includes the functionalities of Duke, as well as the commands' formats. +### Adding a task```todo``` + +The ```todo``` command allows you to add in tasks that do not have a deadline or duration. + +Format: ```todo [TASK_NAME]``` + +Example: ```todo sleep``` + +### Adding a task```deadline``` + +The `deadline` command allows you to add in tasks that have a specific deadline. Separate the `[TASK_NAME]` and `[DEADLINE]` with a `/`. + +Format: `deadline [TASK_NAME] /[DEADLINE]` + +Example: `deadline sleep /by 10pm` + +### Adding a task```event``` + +The `event` command allows you to add in tasks that occurs within a period of time. Separate the `[TASK_NAME]`,`[FROM]` and `[TO]` with `/`. + +Format: `event [TASK_NAME] /[FROM] /[TO]` + +Example: `event sleep /from 10pm /to 8am` + +### Deleting a task```delete``` + +The `delete` command allows you to delete any current task specified by `[INDEX]` in the list. + +Format: `delete [INDEX]` + +Example: `delete 1` will remove task *sleep* from the list. + +*Note: `delete` command could not be undo once called.* + +### Marking a task as done```mark``` + +The `mark` command allows you to mark any task specified by the`[INDEX]` as done. Marking the task as done does not delete the task from the list. + +Format: `mark [INDEX]` + +Example: `mark 1` will mark task *sleep* as done, indicated by `[x]`. + +### unmarking a task as done```unmark``` + +The `unmark` command allows you to unmark any previously marked task. The task to be unmarked is specified by the`[INDEX]`. + +Format: `unmark [INDEX]` + +Example: `unmark 1` will unmark task *sleep*, indicated by `[ ]`. + +### Finding tasks```find``` + +The `find` command allows you to find any tasks containing the substring `[NAME]`. It will return a list of tasks containing `[NAME]`. + +Format: `find [NAME]` + +Example: `find sleep` or `find lee` will return task *sleep*. + +### Displaying all tasks```list``` + +The `list` command displays a list of current tasks. + +Format: `list` + +Example: `list` will display `1. [T][X] sleep` + +### Exit duke```bye``` + +The `bye` command will exit the program.