User Guide
This product is an educational software project that helps user to keep track of various things.
The link is website for user guide
Quick start
Using IntelliJ
- Ensure you have Java 11 or above installed in your Computer
- Download the IntelliJ
- Set up the correct JDK version as follows:
- Click
Configure
>Structure for New Projects
and thenProject Settings
>Project
>Project SDK
- If JDK 11 is listed in the drop down, select it. If it is not, click
New...
and select the directory where you installed JDK 11 - Click
OK
- Click
- Download the latest project from here.
- Import the project into Intellij.
- Go to the sr folder and find src\main\java\dukes\dukes.Duke
- Right click the dukes.Duke and select Run dukes.Launcher
- The program now should run on the Console (usually located at the bottom side)
- Type the command and press Enter to execute it.
1.Refer to teh Feature below for details of each command.
Using Command Line
- ‘Build’ the project using IntelliJ.
- Open the Terminal/Command Prompt.
- cd into the project’s
out\artifacts\ip_jar
. - Type
java -jar ip.jar
then Enter to execute . - Now you can interact with the program through the CLI.
Features
- See all commands format : help
- Adding a Todo task: todo
- Adding a Deadline task: deadline
- Adding an Event task: event
- Listing task information: list
- Finding all tasks containing any keyword: find
- Deleting a task : delete
- Mark as Done of a task: done
- Exiting the program : bye
- Loading the data
- Saving the data
Notes about the command format:
- Words in UPPER_CASE are the parameters to be supplied by the user.
E.g. DESCRIPTIONS in the command todo TASK DESCRIPTIONS
. Order of parameters fixed.
Viewing help: help
Usage
Shows all available commands that the user can input.
Format: help
Example of usage:
help
Expected outcome:
Use following commands to control me:
- todo [desc]\n"
- event [desc] /at [date time]
- deadline [desc] /by [date time]
- list\n"
- done [task number]
- bye|exit (exits duke)
- find [keyword]
* date format - DD/MM/YYYY
* time format - HHmm
Adding a task: todo
Usage
Adding a task in the task list and show the total number of task in the list.
todo
- Adding a task into a task list.
>The keyword ‘todo’ with description can be upper and lowercase letters and its outcome will not include the keyword.
>If you key in the keyword without description. There will be an error message:”OOPS!!! The description of a todo cannot be empty. “
Format: todo
Description
Example of usage:
TOdo Read BOOK
Expected outcome:
Got it. I've added this task:
[T][X] Read book
Now you have 1 task in the list.
Adding a deadline task: deadline
Usage
Adding a deadline task helps to know the deadline for the specific task in the task list and show the total number of task in the list.
deadline
- Adding a deadline task
>The keyword ‘deadline’ with description can be upper and lowercase letters and the outcome will not include the keyword.
>The date and time format need to include.
>If you key in the keyword without description. There will be an error message:”OOPS!!! The description of a deadline cannot be empty.”
>If you forgot to include the date and time or /by, there will be reminder message:”OOPS!!! Please refer to [Help] to key in Correct Format.”
>If you key in a wrong format for date and time. There will be message to guide you :”Please input a date in this format : dd/MM/yyyy HHmm.”
Format: deadline
Description /by dd/mm/yyyy HHmm
Example of usage:
deadline return book /by 12/12/2021 1800
Expected outcome:
Got it. I've added this task:
[D][X] return book (by:12-Dec-2021 06:00 PM)
Now you have 2 tasks in the list.
Adding an event task: event
Usage
Adding an event task helps to remind the user to attend the event with specific date and time in the task list and show the total number of task in the list.
event
- Adding an event task
>The keyword ‘event’ with description can be upper and lowercase letters and The outcome will not include the keyword.
>TThe date and time format need to include.
>If you key in the keyword without description. There will be an error message:”OOPS!!! The description of an event cannot be empty.”
>If you miss the date and time or /at, there will be reminder message:”“OOPS!!! Please refer to [Help] to key in Correct Format.”
>If you key in a wrong format for date and time. There will be message to guide you :”Please input a date in this format : dd/MM/yyyy HHmm.”
Format: event
Description /at dd/mm/yyyy HHmm
Example of usage:
EVENT join club /at 12/11/2021 0900
Expected outcome:
Got it. I've added this task:
[E][X] join club (at:12-Nov-2021, 09:00 AM)
Now you have 3 tasks in the list.
Marking a specific task: done
Usage
Marking a specific task to remind the user that he has finished the task.
done
- Marking a specific task from the task list.
>The keyword ‘done’ can be upper and lowercase letters
>The outcome will be change X to Y in the specific task.
>The index refers to the index number shown in the displayed task list.
>the index must be positive integer 1,2,3… and must be in the list.
>If you key in the keyword without INDEX. There will be an error message:”OOPS!!! Please refer to [Help] to key in Correct Format.”
>If you key in the index number that is out of the list. There will be an error message :”OOPS!!! There is no specific task number in the list.”
Format: done
INDEX
Example of usage:
Done 1 or DONE 1 or done 1
Expected outcome:
<br/>Nice! I've marked this task as done:
<br/>[T][Y] Read book
Deleting a task: delete
Usage
Delete a specific task from task list to helps remove the completed task and tidy the task list. It will show the total number of Tasks left in the task list.
delete
- Deleting a specific task from the task list.
>The keyword ‘delete’ can be upper and lowercase letters and its outcome will be remove the specific task and reduce the total number of task in the list.
>The index refers to the index number shown in the displayed task list
>The index must be a positive integer 1,2,3… and must be in the list.
>If you key in the index number that is out of the list. There will be an error message:”OOPS!!! There is no specific task to delete.”
>If you key in the keyword without INDEX. There will be an error message:”OOPS!!! Please refer to [Help] to key in Correct Format.”
Format: delete
INDEX
Example of usage:
Delete 1 or DELETE 1 or delete 1
Expected outcome:
Noted. I've removed this task:
[T][Y] Read book
Now you have 2 task in the list.
###Listing all Tasks: list
Usage
It shows a list of tasks with a number. It helps to summarize the task list.
list
- Listing all Tasks with number.
>The keyword ‘list’ can be upper and lowercase letters and its outcome will be show a list of task in the task list
>If you key in the keyword with empty task.There will be an error message:”OOPS!!! There are no Tasks in your list.”
Format: list
Example of usage:
list or List or LIST
Expected outcome:
Here are the Tasks in your list:
1.[D][X] return book (by:12-Dec-2021 06:00 PM)
2.[E][X] join club (at:12-Nov-2021, 09:00 AM)
Locating Tasks by description_keyword: find
Usage
It helps to search a task that contain any of the given description_keyword, and the search is case-insensitive. e.g book will match BOOK. Therefore, the user can easily find out the specific task base on find function.
find
- Locating Tasks with given description_keyword
>The keyword ‘find’ can be upper and lowercase letters and its outcome will be show a list of task in the task list when the task is match the specific description keywords.
>The order of the description_keyword does not matter.
>If you key in the specific description_keyword that does not match the task in your list.There will be an error message:”OOPS!!! There is no matching Tasks in your list.”
>If you only key in the keyword, there will be an error message:”OOPS!!! The description of a find cannot be empty.”
Format: find
description_keyword[more_keyword]
Example of usage:
step 1.TODO Read BOOK
step 2. find book or Find BOok or FIND BOOK
Expected outcome:
Here are the matching Tasks in your list:
1.[T][X] Read BOOK
2.[D][X] return book (by:12-Dec-2021 06:00 PM)
Exiting the program: exit
/bye
Usage
It helps to end the program.
exit/bye
- Exiting the program
The keyword ‘exit/bye’ can be upper and lowercase letters and a bye message will be show:”Bye. Hope to see you again soon!”.
the Launcher will auto exit.
Format: exit
or bye
Example of usage:
bye/exit/BYE/EXIT/Bye/Exit
Expected outcome:
Bye. Hope to see you again soon!
Loading the data
Auto-load the data from the hard disk when duke starts up.
The file name and location e.g., [project_root]/data/duke.txt
###Saving the task in the hard-disk It auto-save the Tasks and auto create a text file after exiting the program, and the format of display will be change when task save in hard disk. It saves the user’s time as there is no need to save manually.
Exceptions message
Usage
It helps to handle error message that will guide the user.
Example of usage:
book
Expected outcome:
OOPS!!! I’m sorry, but I don’t know what that means :-(
Command Summary
Action | Format | Examples |
---|---|---|
Help | help | help |
Todo | todo Description | todo read book |
Deadline | deadline Description /by dd/mm/yyyy HHmm | deadline return book /by 12/12/2021 1800 |
Event | event Description /at dd/mm/yyyy HHmm | event join club /at 11/12/2021 1300 |
List | list | list |
Find | find description_keyword[more_keywords] | find book |
Done | done INDEX | done 1 |
Delete | delete INDEX | delete 1 |
Exit | exit | exit |
Bye | bye | bye |