Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Abdurrahman Faqih] iP #459

Open
wants to merge 193 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
193 commits
Select commit Hold shift + click to select a range
3b19ba1
Add Gradle support
May 24, 2020
98c926b
Update chatbot to greet, echo and exit
abdurrahmanfaqihiskandar Aug 18, 2020
1c0d3e0
Update chatbot to add and list input
abdurrahmanfaqihiskandar Aug 18, 2020
f8c455f
Add ability to mark tasks as done
abdurrahmanfaqihiskandar Aug 18, 2020
6f31835
Add Task class
abdurrahmanfaqihiskandar Aug 18, 2020
434e576
Update getStatusIcon to return tick or X symbol
abdurrahmanfaqihiskandar Aug 18, 2020
e8ac155
Update name of Task attribute from task to description
abdurrahmanfaqihiskandar Aug 18, 2020
ee19b5a
Add toString method for Task class
abdurrahmanfaqihiskandar Aug 18, 2020
007cf22
Add Deadline class
abdurrahmanfaqihiskandar Aug 18, 2020
df7a413
Implement Deadline class in main
abdurrahmanfaqihiskandar Aug 18, 2020
f4ecbb6
Add ToDo class
abdurrahmanfaqihiskandar Aug 19, 2020
160086a
Implement ToDo class in main
abdurrahmanfaqihiskandar Aug 19, 2020
f4a0bcb
Add Event class
abdurrahmanfaqihiskandar Aug 19, 2020
0298c32
Add support for tracking three types of tasks
abdurrahmanfaqihiskandar Aug 19, 2020
b4ea698
Remove println in each switch case
abdurrahmanfaqihiskandar Aug 19, 2020
3e35218
Update Duke output to be compatible with testing
abdurrahmanfaqihiskandar Aug 19, 2020
10d8278
Add text-ui-test files
abdurrahmanfaqihiskandar Aug 19, 2020
d31fb24
Stop tracking text-ui-test files
abdurrahmanfaqihiskandar Aug 19, 2020
6b2adc9
Update javac to compile all .java files
abdurrahmanfaqihiskandar Aug 19, 2020
17eca9f
Change status icon to Done/Not Done
abdurrahmanfaqihiskandar Aug 20, 2020
8560678
Change from do while to while
abdurrahmanfaqihiskandar Aug 20, 2020
572f8d5
Add new line to Duke reply
abdurrahmanfaqihiskandar Aug 20, 2020
c0edbc7
Add function to trim input
abdurrahmanfaqihiskandar Aug 20, 2020
8d4e4b8
Replace Event at with start and end
abdurrahmanfaqihiskandar Aug 20, 2020
41875c7
Add DukeException class
abdurrahmanfaqihiskandar Aug 20, 2020
da114c1
Add error handlers
abdurrahmanfaqihiskandar Aug 20, 2020
321d0c6
Add message for IndexOutOfBounds
abdurrahmanfaqihiskandar Aug 20, 2020
bfec649
Add handler for IndexOutOfBounds
abdurrahmanfaqihiskandar Aug 20, 2020
bbabf78
Add support for deleting tasks from the list
abdurrahmanfaqihiskandar Aug 20, 2020
8685bbc
Add gitignore for class files
abdurrahmanfaqihiskandar Aug 20, 2020
2b6f831
Add enums
abdurrahmanfaqihiskandar Aug 20, 2020
794683f
Add enums exception time
abdurrahmanfaqihiskandar Aug 20, 2020
927ddb6
Remove commented out line of code
abdurrahmanfaqihiskandar Aug 25, 2020
1041a20
Add function to transform list of tasks to a string
abdurrahmanfaqihiskandar Aug 25, 2020
238a6aa
Add function to write task list to file
abdurrahmanfaqihiskandar Aug 25, 2020
731bb6d
Update file path to be OS-independent
abdurrahmanfaqihiskandar Aug 25, 2020
bc3ad44
Add function fromString() in Task class
abdurrahmanfaqihiskandar Aug 25, 2020
af84982
Add function to get done status
abdurrahmanfaqihiskandar Aug 25, 2020
00097b1
Override Task fromString function
abdurrahmanfaqihiskandar Aug 25, 2020
f2450d6
Add override fromString
abdurrahmanfaqihiskandar Aug 25, 2020
977d9cc
Add override fromString
abdurrahmanfaqihiskandar Aug 25, 2020
8165691
Update correct index of string split
abdurrahmanfaqihiskandar Aug 25, 2020
c7d4451
Update regex in split
abdurrahmanfaqihiskandar Aug 25, 2020
0857907
Update split regex and index of split
abdurrahmanfaqihiskandar Aug 25, 2020
73fc5eb
Add override fromString
abdurrahmanfaqihiskandar Aug 25, 2020
0d6987a
Update name of parameter in fromString
abdurrahmanfaqihiskandar Aug 25, 2020
c0d17dd
Add function to read tasks in hard drive
abdurrahmanfaqihiskandar Aug 25, 2020
4031e06
Delete fromString and isDone function
abdurrahmanfaqihiskandar Aug 25, 2020
2c5c0a0
Add function to read from file
abdurrahmanfaqihiskandar Aug 25, 2020
a65be61
Update git to ignore data folder
abdurrahmanfaqihiskandar Aug 25, 2020
8ccd51f
Save tasks in hard drive automatically whenever task list changes
abdurrahmanfaqihiskandar Aug 25, 2020
3d45590
Add handler for when directory does not exist
abdurrahmanfaqihiskandar Aug 25, 2020
1e339b4
Add function to read any tasks saved in hard drive
abdurrahmanfaqihiskandar Aug 25, 2020
baddcf7
Merge branch-Level-7 to master
abdurrahmanfaqihiskandar Aug 25, 2020
94b2e9b
Add git ignore for data folder using in testing
abdurrahmanfaqihiskandar Aug 26, 2020
71dfa81
Merge master into branch-Level-8
abdurrahmanfaqihiskandar Aug 26, 2020
284cb35
Update Deadline class to store date and time as LocalDate and LocalTime
abdurrahmanfaqihiskandar Aug 26, 2020
079bd53
Add function to format tasks saved to hard disk
abdurrahmanfaqihiskandar Aug 26, 2020
6324ec7
Merge branch-Level-8 to master
abdurrahmanfaqihiskandar Aug 26, 2020
25e9885
Update event class to store date and time as LocalDate and LocalTime
abdurrahmanfaqihiskandar Aug 26, 2020
994546e
Merge branch-Level-8 to master
abdurrahmanfaqihiskandar Aug 26, 2020
d82c901
Create new classes for code refactoring
abdurrahmanfaqihiskandar Aug 26, 2020
c588180
Update format of time
abdurrahmanfaqihiskandar Aug 26, 2020
42a6be3
Refactor welcome message into Ui class
abdurrahmanfaqihiskandar Aug 26, 2020
e1dfb90
Move main code block into run function
abdurrahmanfaqihiskandar Aug 27, 2020
997dcc1
Replace chat prompts with ui functions
abdurrahmanfaqihiskandar Aug 27, 2020
5ce7aed
Add help message for usage of Duke
abdurrahmanfaqihiskandar Aug 27, 2020
9c0a2a6
Update UI attributes to final
abdurrahmanfaqihiskandar Aug 27, 2020
d16778e
Print error messages using ui function
abdurrahmanfaqihiskandar Aug 27, 2020
d526126
Refactor storage functions into storage class
abdurrahmanfaqihiskandar Aug 27, 2020
c0959ad
Refactor task added message into UI class
abdurrahmanfaqihiskandar Aug 27, 2020
2344459
Refactor list tasks message into UI class
abdurrahmanfaqihiskandar Aug 27, 2020
baadd78
Refactor task done message into UI class
abdurrahmanfaqihiskandar Aug 27, 2020
862f8d0
Refactor task deleted message into UI class
abdurrahmanfaqihiskandar Aug 27, 2020
82380d6
Refactor bye message into UI class
abdurrahmanfaqihiskandar Aug 27, 2020
f781cd0
Refactor list to string code into TaskList class
abdurrahmanfaqihiskandar Aug 27, 2020
61a730a
Implement TaskList class in run function
abdurrahmanfaqihiskandar Aug 27, 2020
1a3d7ac
Update name of task list
abdurrahmanfaqihiskandar Aug 27, 2020
79b8d7f
Refactor scanner object into InputParser class
abdurrahmanfaqihiskandar Aug 27, 2020
63455d4
Delete comments
abdurrahmanfaqihiskandar Aug 27, 2020
ef79a0a
Add enum for type of command
abdurrahmanfaqihiskandar Aug 27, 2020
503fd9f
Add command bye
abdurrahmanfaqihiskandar Aug 27, 2020
d60740b
Add command help
abdurrahmanfaqihiskandar Aug 27, 2020
840be5f
Implement parser class to parse user input
abdurrahmanfaqihiskandar Aug 27, 2020
fe26eac
Add JUnit test files
abdurrahmanfaqihiskandar Aug 27, 2020
d9c89dd
Create JAR file
abdurrahmanfaqihiskandar Aug 27, 2020
f1979ce
Add JavaDoc comments
abdurrahmanfaqihiskandar Aug 27, 2020
46b3694
Add JavaDoc comments
abdurrahmanfaqihiskandar Aug 27, 2020
36248c5
Update code to follow Java coding standards
abdurrahmanfaqihiskandar Aug 27, 2020
a67147d
Add task finder class
abdurrahmanfaqihiskandar Aug 27, 2020
52bfad6
Merge branch-A-JavaDoc to master
abdurrahmanfaqihiskandar Aug 27, 2020
3781c34
Merge branch-A-CodingStandard to master
abdurrahmanfaqihiskandar Aug 27, 2020
dc399a2
Refactor files into duke package
abdurrahmanfaqihiskandar Aug 30, 2020
6005db3
Merge branch-A-Package into master
abdurrahmanfaqihiskandar Aug 30, 2020
3155481
Fixed bug for done and delete command with no index
abdurrahmanfaqihiskandar Aug 30, 2020
409bf8d
Delete .class files from directory
abdurrahmanfaqihiskandar Aug 30, 2020
63d8f0c
Refactor main function into Main.java file
abdurrahmanfaqihiskandar Aug 30, 2020
61e765b
Update branch-Level-9 to latest version
abdurrahmanfaqihiskandar Aug 30, 2020
22fb286
Add ability to filter tasks by type and status
abdurrahmanfaqihiskandar Aug 30, 2020
10fa374
Add additional filter for status within task type
abdurrahmanfaqihiskandar Aug 30, 2020
ac85c3d
Update JavaDoc in files
abdurrahmanfaqihiskandar Aug 30, 2020
285cdc4
Update Ui to include filter commands
abdurrahmanfaqihiskandar Aug 30, 2020
bf46698
Add ability to filter task by keyword
abdurrahmanfaqihiskandar Aug 30, 2020
1d639b7
Merge add-gradle-support into master
abdurrahmanfaqihiskandar Aug 30, 2020
221a984
Set up JavaFx stage
abdurrahmanfaqihiskandar Sep 1, 2020
a74c5fc
Rename label
abdurrahmanfaqihiskandar Sep 1, 2020
df8e311
Update code according to PR review comments
abdurrahmanfaqihiskandar Sep 1, 2020
f80dc1e
Add more features to JavaFX
abdurrahmanfaqihiskandar Sep 1, 2020
c60e6df
Add icon for duke and user
abdurrahmanfaqihiskandar Sep 1, 2020
15e352f
Change format of switch to adhere to java coding standards
abdurrahmanfaqihiskandar Sep 1, 2020
9115f58
Add JavaFx tutorial part 4 features
abdurrahmanfaqihiskandar Sep 3, 2020
8dd0bd5
Create GUI for Duke chatbot
abdurrahmanfaqihiskandar Sep 3, 2020
85be95b
Update main class name
abdurrahmanfaqihiskandar Sep 3, 2020
8f17b79
Merge branch-Level-10 into master
abdurrahmanfaqihiskandar Sep 3, 2020
4a8e63e
Add pause before exiting application
abdurrahmanfaqihiskandar Sep 3, 2020
b269d05
Add an abstract command class
abdurrahmanfaqihiskandar Sep 8, 2020
6e65d34
Delete abstract command class
abdurrahmanfaqihiskandar Sep 8, 2020
7194e5d
Update Ui method names
abdurrahmanfaqihiskandar Sep 8, 2020
a7bb822
Refactor help command
abdurrahmanfaqihiskandar Sep 8, 2020
b651af5
Refactor bye command
abdurrahmanfaqihiskandar Sep 8, 2020
2fbaa78
Add a command class
abdurrahmanfaqihiskandar Sep 8, 2020
07af6c4
Update command constructors
abdurrahmanfaqihiskandar Sep 8, 2020
f2641c3
Refactor add task command
abdurrahmanfaqihiskandar Sep 8, 2020
3f25af1
Refactor list command
abdurrahmanfaqihiskandar Sep 8, 2020
0fa970a
List all imports
abdurrahmanfaqihiskandar Sep 8, 2020
464e130
Refactor done command
abdurrahmanfaqihiskandar Sep 8, 2020
b13ff24
Add javadoc for done command
abdurrahmanfaqihiskandar Sep 8, 2020
df130e6
Refactor delete command
abdurrahmanfaqihiskandar Sep 8, 2020
94005ca
Merge pull request #1 from abdurrahmanfaqihiskandar/branch-A-CodeQuality
abdurrahmanfaqihiskandar Sep 8, 2020
9e349b8
Pull from remote repo
abdurrahmanfaqihiskandar Sep 8, 2020
a832f8e
Merge master into branch-A-Assertions
abdurrahmanfaqihiskandar Sep 8, 2020
aa03bd6
Delete unused method in command class
abdurrahmanfaqihiskandar Sep 8, 2020
58dba07
Refactor Duke commands for same level of abstraction
abdurrahmanfaqihiskandar Sep 8, 2020
4976fed
Add javadocs to input parser methods
abdurrahmanfaqihiskandar Sep 8, 2020
f6af99e
Merge pull request #2 from abdurrahmanfaqihiskandar/branch-A-CodeQuality
abdurrahmanfaqihiskandar Sep 8, 2020
298b08f
Pull from remote repo
abdurrahmanfaqihiskandar Sep 8, 2020
7eac888
Merge master into branch-A-Assertions
abdurrahmanfaqihiskandar Sep 8, 2020
e583c1b
Fix switch conditional loops
abdurrahmanfaqihiskandar Sep 8, 2020
532ed9d
Delete unnecessary comments
abdurrahmanfaqihiskandar Sep 8, 2020
bb57ac8
Merge pull request #3 from abdurrahmanfaqihiskandar/branch-A-CodeQuality
abdurrahmanfaqihiskandar Sep 8, 2020
c8d5d40
Pull from remote repo
abdurrahmanfaqihiskandar Sep 8, 2020
1ff03e0
Merge master into branch-A-Assertions
abdurrahmanfaqihiskandar Sep 8, 2020
d66bb47
Add assertions into code
abdurrahmanfaqihiskandar Sep 9, 2020
24bb8da
Merge pull request #4 from abdurrahmanfaqihiskandar/branch-A-Assertions
abdurrahmanfaqihiskandar Sep 9, 2020
712a134
Delete dead code getInput()
abdurrahmanfaqihiskandar Sep 9, 2020
4a3ae7e
Add scheduler class to detect anomalies in schedule
abdurrahmanfaqihiskandar Sep 10, 2020
e4787ac
Refactor cases to extract return false
abdurrahmanfaqihiskandar Sep 10, 2020
7901793
Add javadoc comment for scheduler class
abdurrahmanfaqihiskandar Sep 10, 2020
7f5d970
Add scheduler class to keep track of all events scheduled
abdurrahmanfaqihiskandar Sep 10, 2020
beced30
Remove scheduler object
abdurrahmanfaqihiskandar Sep 10, 2020
6cbb075
Add exception type for event schedules clashing
abdurrahmanfaqihiskandar Sep 10, 2020
86b001a
Add scheduler class
abdurrahmanfaqihiskandar Sep 10, 2020
45a1e4c
Update add command to check whether event being added clashes with ex…
abdurrahmanfaqihiskandar Sep 10, 2020
cedaa7b
Update exception type
abdurrahmanfaqihiskandar Sep 10, 2020
c278868
Add extension to detect anomalies in schedule
abdurrahmanfaqihiskandar Sep 10, 2020
4f6e3cb
Merge pull request #5 from abdurrahmanfaqihiskandar/branch-B-DetectAn…
abdurrahmanfaqihiskandar Sep 10, 2020
236b9cd
Refactor code to use lambdas and streams
abdurrahmanfaqihiskandar Sep 10, 2020
95a7cc8
Merge pull request #6 from abdurrahmanfaqihiskandar/A-Streams
abdurrahmanfaqihiskandar Sep 10, 2020
e8a6d8a
Pull from remote repo
abdurrahmanfaqihiskandar Sep 10, 2020
1311de0
Update gradle build to include other OS
abdurrahmanfaqihiskandar Sep 13, 2020
abdec8b
Do level 1 javafx tutorial with 2 stages
abdurrahmanfaqihiskandar Sep 14, 2020
95ed777
Do level 2 javafx tutorial
abdurrahmanfaqihiskandar Sep 14, 2020
52033fe
Finish javafx tutorial 3
abdurrahmanfaqihiskandar Sep 15, 2020
7cdfb30
Add styles to the Duke GUI
abdurrahmanfaqihiskandar Sep 16, 2020
0059b4a
Update Ui return messages
abdurrahmanfaqihiskandar Sep 16, 2020
0f52302
Add more styles to duke Gui
abdurrahmanfaqihiskandar Sep 16, 2020
2e43b3f
Add more style to Duke Gui
abdurrahmanfaqihiskandar Sep 16, 2020
1640b10
Delete unused images
abdurrahmanfaqihiskandar Sep 16, 2020
b4c083e
Update text Gui
abdurrahmanfaqihiskandar Sep 16, 2020
4f195e4
Add styles to Duke Gui
abdurrahmanfaqihiskandar Sep 17, 2020
0ba66a6
Merge pull request #7 from abdurrahmanfaqihiskandar/branch-A-BetterGui
abdurrahmanfaqihiskandar Sep 17, 2020
94fe2fd
Edit file path to storage
abdurrahmanfaqihiskandar Sep 17, 2020
bdc581b
Update README.md
abdurrahmanfaqihiskandar Sep 17, 2020
c8b8aee
Add Ui screenshot into docs folder
abdurrahmanfaqihiskandar Sep 17, 2020
ab27a1f
Pull from remote repo
abdurrahmanfaqihiskandar Sep 17, 2020
2f67587
Delete all unused code
abdurrahmanfaqihiskandar Sep 17, 2020
97f6911
Update README.md
abdurrahmanfaqihiskandar Sep 17, 2020
f8ebc70
Update README.md
abdurrahmanfaqihiskandar Sep 17, 2020
60456c7
Update README.md
abdurrahmanfaqihiskandar Sep 17, 2020
31f6975
Update README.md
abdurrahmanfaqihiskandar Sep 17, 2020
1895b7c
Update input parser to parse find command
abdurrahmanfaqihiskandar Sep 17, 2020
a3d855e
Pull from remote repo
abdurrahmanfaqihiskandar Sep 17, 2020
e41b3b1
Update Ui screenshot file name
abdurrahmanfaqihiskandar Sep 17, 2020
488c9d6
Fix the gui label
abdurrahmanfaqihiskandar Sep 18, 2020
13da57d
Fix Gui labels
abdurrahmanfaqihiskandar Sep 18, 2020
63c9f78
Merge pull request #8 from abdurrahmanfaqihiskandar/branch-FixGui
abdurrahmanfaqihiskandar Sep 18, 2020
5201739
Update Ui screenshot
abdurrahmanfaqihiskandar Sep 18, 2020
00a7140
Merge branch 'master' of https://github.com/abdurrahmanfaqihiskandar/…
abdurrahmanfaqihiskandar Sep 18, 2020
c763e93
Delete Ui screenshot
abdurrahmanfaqihiskandar Sep 18, 2020
586875c
Merge branch-FixGui into master
abdurrahmanfaqihiskandar Sep 18, 2020
413b1fb
Update readme file
abdurrahmanfaqihiskandar Sep 18, 2020
59ef82c
Update readme file
abdurrahmanfaqihiskandar Sep 18, 2020
0913015
Rename Ui.png file
abdurrahmanfaqihiskandar Sep 19, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,9 @@ src/main/resources/docs/
*.iml
bin/

/text-ui-test/ACTUAL.txt
text-ui-test/EXPECTED-UNIX.TXT
# Text test files
text-ui-test/*.txt

# Data folder
data/
../../data/
172 changes: 146 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,146 @@
# Duke project template

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.

## Setting up in Intellij

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 dialog first)
1. Set up the correct JDK version, as follows:
1. Click `Configure` > `Structure for New Projects` and then `Project Settings` > `Project` > `Project SDK`
1. 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
1. Click `OK`
1. Import the project into Intellij as follows:
1. Click `Open or Import`.
1. Select the project directory, and click `OK`
1. If there are any further prompts, accept the defaults.
1. After the importing is complete, locate the `src/main/java/Duke.java` file, right-click it, and choose `Run Duke.main()`. If the setup is correct, you should see something like the below:
```
Hello from
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
<h1>User Guide</h1>

Duke Chatbot is a **desktop app for managing tasks and scehdules**. This chatbot uses a GUI text interface to interact with the user.

- Quick Start
- Features
- Help
- Adding a task:
- ToDo: `todo`
- Deadline: `deadline`
- Event: `event`
- Listing tasks: `list`
- Finding tasks based on keyword: `find`
- Marking tasks as done: `done`
- Deleting tasks: `delete`
- Exiting the program: `bye`
- Command Summary

<h2>Quick Start</h2>

1. Ensure you have java `11` or newer installed in your computer.
2. Download the latest release from [here](https://github.com/abdurrahmanfaqihiskandar/ip/releases).
3. Add the `duke.jar` file into a directory of your choice to be used as your _home directory_.
4. Double click the `duke.jar` file to launch the application.

<h2>Features</h2>

**Notes about the command format**:
- Words in `UPPER_CASE` are the parameters to be supplied by the user.
E.g. in `todo DESCRIPTION`, `DESCRIPTION` is a parameter which can be used as `todo Clean the dishes`.

<h3>Adding a task</h3>

<h3>Adding a ToDo task:<code>todo</code></h3>

Adds a todo task to the tasklist.

Format: `todo DESCRIPTION`

Examples:
- `todo Clean the dishes`

<h3>Adding a task with a deadline:<code>deadline</code></h3>

Adds a task with a deadline to the tasklist. A task with a deadline needs to have a deadline date and time in the form `YYYY-MM-DD` and `HH:MM` respectively.

Format: `deadline DESCRIPTION /by YYYY-MM-DD HH:MM`

Example:
- `deadline Project submisstion /by 2020-11-09 23:59`
- `deadline Write my essay /by 2020-12-13 00:30`

<h3>Adding an event task:<code>event</code></h3>

Adds an event to the tasklist. An event needs to have an event date in the form `YYYY-MM-DD` and an event time range `HH:MM-HH:MM`.

Format: `event DESCRIPTION /at YYYY-MM-DD HH:MM-HH:MM`

Example:
- `event Birthday party /at 2020-09-26 18:00-20:00`
- `event History exam /at 2020-11-12 17:00-18:45`

<h3>Listing tasks:<code>list</code></h3>

Shows the list of tasks currently.
There are a number of ways to list the tasks in the tasklist. Below are all the different ways to list tasks in the tasklist broken down into the type of tasks:
- All tasks:
- List all tasks:<code>list all</code>
- List all tasks that are done:<code>list all done</code>
- List all tasks that are not done:<code>list all not done</code>
- ToDo tasks:
- List all todo tasks:<code>list todos</code>
- List all todo tasks that are done:<code>list todos done</code>
- List all todo tasks that are not done:<code>list todos not done</code>
- Tasks with a deadline:
- List all tasks with a deadline:<code>list deadlines</code>
- List all tasks with a deadline that are done:<code>list deadlines done</code>
- List all tasks with a deadline that are not done:<code>list deadlines not done</code>
- Events:
- List all events:<code>list events</code>
- List all events that are done:<code>list events done</code>
- List all events that are not done:<code>list events not done</code>

<h3>Finding tasks based on keyword:<code>find</code></h3>

Find tasks whose names contain the keyword.

Format: `find KEYWORD`
- `KEYWORD` cannot be empty
- The search is case-sensitive. E.g. `tEsT` will not match `test`.
- Only the name is searched.
- Part search will also match full words. E.g. `te` will match `test`.
- The order of the keywords does not matter. E.g. `Exam Mock` will match `Mock Exam`.

Examples:
- `find party`
- `find exam`

<h3>Marking tasks as done:<code>done</code></h3>

Marks tasks as done.

Format: `done INDEX`
- Marks the task at the specified `INDEX` as done.
- The `INDEX` refers to the index number shown in the displayed task list.
- The `INDEX` **must be a positive integer** 1, 2, 3, ...

Examples:
- `list all` to view all the tasks in the tasklist followed by `done 2` will mark the 2nd task as done.
- `done 4` will mark the 4th task as done.

<h3>Deleting tasks:<code>delete</code></h3>

Deletes tasks from the tasklist.

Format: `delete INDEX`
- Deletes the task at the specified `INDEX`.
- The `INDEX` refers to the index number shown in the displayed task list.
- The `INDEX` **must be a positive integer** 1, 2, 3, ...

Examples:
- `list all` to view all the tasks in the tasklist followed by `delete 2` will delete 2nd task.
- `delete 4` will delete the 4th task.

<h3>Exiting the program:<code>bye</code></h3>

Exits the program and closes the application.

Format:`bye`

<h3>Saving the data</h3>

Duke automatically saves the tasklist in the hard disk after any command that changes the data. There is no need to save manually.

<h2>Command Summary</h2>

| Action | Format, Examples |
| --- | --- |
| todo | `todo DESCRIPTION`, e.g. `todo Clean the dishes` |
| deadline | `deadline DESCRIPTION /by YYYY-MM-DD HH:MM`, e.g. `deadline Project submisstion /by 2020-11-09 23:59` |
| event | `event DESCRIPTION /at YYYY-MM-DD HH:MM-HH:MM`, e.g. `event Birthday party /at 2020-09-26 18:00-20:00` |
| list | `list PARAMETER`, e.g. `list events done` |
| find | `find KEYWORD`, e.g. `find homework` |
| done | `done INDEX`, e.g. `done 2`
| delete | `delete INDEX`, e.g. `delete 1`
| bye | `bye` |
61 changes: 61 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
plugins {
id 'java'
id 'application'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '5.1.0'
}

repositories {
mavenCentral()
}

dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0'

String javaFxVersion = '11'

implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-base', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-controls', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-fxml', version: javaFxVersion, classifier: 'linux'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'win'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'mac'
implementation group: 'org.openjfx', name: 'javafx-graphics', version: javaFxVersion, classifier: 'linux'
}

test {
useJUnitPlatform()

testLogging {
events "passed", "skipped", "failed"

showExceptions true
exceptionFormat "full"
showCauses true
showStackTraces true
showStandardStreams = false
}
}

application {
mainClassName = "duke.Launcher"
}

shadowJar {
archiveBaseName = "duke"
archiveClassifier = null
}

checkstyle {
toolVersion = '8.23'
}

run {
standardInput = System.in
}
Loading