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

[Ryan Jee] iP #268

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
3eff0e6
Add skeletal function of Duke
rjeez Feb 6, 2021
5c86aa2
Add ability to show list
rjeez Feb 6, 2021
ec54d44
Add Todo Tasktype
rjeez Feb 6, 2021
547f05b
Add Task class
rjeez Feb 6, 2021
cf149a2
Add Event tasktype
rjeez Feb 6, 2021
7759f9a
Add Deadline tasktype
rjeez Feb 6, 2021
56c85b2
Add DukeException class for exceptions specifically for Duke
rjeez Feb 6, 2021
6436423
Add Storage class to save tasks
rjeez Feb 6, 2021
f16618c
Add DukeLIst class to potentially store multiple list types
rjeez Feb 6, 2021
d531250
Create Command.java
rjeez Feb 6, 2021
ac57426
Add Main Class for GUI support
rjeez Feb 6, 2021
01cc9d6
Add MainWindow for GUI support
rjeez Feb 6, 2021
3441df1
Add DialogBox class for GUI support
rjeez Feb 6, 2021
a6b6963
Add Launcher class to launch applitcation
rjeez Feb 6, 2021
0aa6f50
Moved to gui folder
rjeez Feb 6, 2021
4098bb4
Moved to gui folder
rjeez Feb 6, 2021
87f89db
Moved to gui folder
rjeez Feb 6, 2021
3fd6a39
Moved to gui folder
rjeez Feb 6, 2021
7d8e968
Moved to gui folder
rjeez Feb 6, 2021
b840512
Moved to gui folder
rjeez Feb 6, 2021
e2bf38f
Moved to gui folder
rjeez Feb 6, 2021
d504d49
Moved to gui folder
rjeez Feb 6, 2021
a2b182e
Added package
rjeez Feb 6, 2021
863e33e
Create CBye.java
rjeez Feb 22, 2021
b8850d1
Create CDeadline.java
rjeez Feb 22, 2021
7f28018
Create CDelete.java
rjeez Feb 22, 2021
422c8c2
Create CDone.java
rjeez Feb 22, 2021
ba66524
Create CEvent.java
rjeez Feb 22, 2021
143a739
Create CList.java
rjeez Feb 22, 2021
d835407
Create ICommand.java
rjeez Feb 22, 2021
b87cca8
Create DukeException.java
rjeez Feb 22, 2021
9a5bfc3
Create DukeList.java
rjeez Feb 22, 2021
2a6fc6d
Create DialogBox.java
rjeez Feb 22, 2021
c5f83fe
Create CFind.java
rjeez Feb 22, 2021
39fc04d
Create CTodo.java
rjeez Feb 22, 2021
d8ed206
Create Storage.java
rjeez Feb 22, 2021
10cefb8
Create Deadline.java
rjeez Feb 22, 2021
abc6c1e
Create Event.java
rjeez Feb 22, 2021
3915318
Create Parser.java
rjeez Feb 22, 2021
755ab2a
Create Task.java
rjeez Feb 22, 2021
d7778ee
Create Todo.java
rjeez Feb 22, 2021
8408de4
Create Ui.java
rjeez Feb 22, 2021
1a5f1d7
Create Main.java
rjeez Feb 22, 2021
98c7115
Create Launcher.java
rjeez Feb 22, 2021
555468a
Create MainWindow.java
rjeez Feb 22, 2021
65a60a0
Create Duke.java
rjeez Feb 22, 2021
23ef9c9
Create vcs.xml
rjeez Feb 22, 2021
2a3aed8
Create .gitignore
rjeez Feb 22, 2021
97b08ed
Create misc.xml
rjeez Feb 22, 2021
a4d534c
Create modules.xml
rjeez Feb 22, 2021
849c049
Delete Command.java
rjeez Feb 22, 2021
5f30f79
Delete Duke.java
rjeez Feb 22, 2021
bf9699a
Delete DukeException.java
rjeez Feb 22, 2021
b8a111e
Delete DukeList.java
rjeez Feb 22, 2021
6012491
Delete DialogBox.java
rjeez Feb 22, 2021
45825ec
Delete Storage.java
rjeez Feb 22, 2021
fd3ae73
Delete Launcher.java
rjeez Feb 22, 2021
d29d4c1
Delete Deadline.java
rjeez Feb 22, 2021
d12e4b9
Delete Event.java
rjeez Feb 22, 2021
7a1e991
Delete Todo.java
rjeez Feb 22, 2021
cf05170
Delete Main.java
rjeez Feb 22, 2021
051cbcd
Delete MainWindow.java
rjeez Feb 22, 2021
e5faea7
Delete Task.java
rjeez Feb 22, 2021
58bdb2f
Delete Ui.java
rjeez Feb 22, 2021
eb4cc5e
Create Main1.java
rjeez Feb 22, 2021
57e46ab
Update Main.java
rjeez Feb 22, 2021
5141b2f
Create Launcher.java
rjeez Feb 22, 2021
f33b1eb
Delete Launcher.java
rjeez Feb 22, 2021
36aeb2c
Delete Main.java
rjeez Feb 22, 2021
169e64a
Create build.gradle
rjeez Feb 23, 2021
c29ae19
Create gradlew.bat
rjeez Feb 23, 2021
eb5f818
Create gradlew
rjeez Feb 23, 2021
2fe3b28
Create gradle-wrapper.properties
rjeez Feb 23, 2021
4b2c886
Create gradle-wrapper.jar
rjeez Feb 23, 2021
c064d54
Update Storage.java
rjeez Feb 23, 2021
a7ce31b
Update Parser.java
rjeez Feb 23, 2021
648a0c8
Update CList.java
rjeez Feb 23, 2021
eb7a203
Create Bot.jpg
rjeez Feb 23, 2021
c4dbbad
Create User.jpg
rjeez Feb 23, 2021
49526fe
Create MainWindow.fxml
rjeez Feb 23, 2021
a0ef7ac
Create DialogBox.fxml
rjeez Feb 23, 2021
b489945
Delete vcs.xml
rjeez Feb 23, 2021
f2387c6
Delete modules.xml
rjeez Feb 23, 2021
9cdb6a0
Delete misc.xml
rjeez Feb 23, 2021
b69f01b
Delete .gitignore
rjeez Feb 23, 2021
b5a5065
Create gradle-wrapper.jar
rjeez Feb 23, 2021
1156199
Create CBye.java
rjeez Feb 23, 2021
8756858
Create CDeadline.java
rjeez Feb 23, 2021
6aad947
Create CDelete.java
rjeez Feb 23, 2021
e3b5c8b
Create CDone.java
rjeez Feb 23, 2021
93a1ca2
Create CDue.java
rjeez Feb 23, 2021
31d8850
Create CEvent.java
rjeez Feb 23, 2021
5a0c950
Create CFind.java
rjeez Feb 23, 2021
c203bb4
Create CList.java
rjeez Feb 23, 2021
8349f95
Create CTodo.java
rjeez Feb 23, 2021
c47e6d4
Create ICommand.java
rjeez Feb 23, 2021
39a7210
Create Duke.java
rjeez Feb 23, 2021
a692afd
Delete CBye.java
rjeez Feb 23, 2021
9aa9e90
Delete CDeadline.java
rjeez Feb 23, 2021
d9e64d1
Create gradle-wrapper.properties
rjeez Feb 23, 2021
7fb2fa8
Delete CDone.java
rjeez Feb 23, 2021
b56d62f
Delete CDelete.java
rjeez Feb 23, 2021
7f5a2a6
Delete CEvent.java
rjeez Feb 23, 2021
495f432
Delete CFind.java
rjeez Feb 23, 2021
118f4ae
Delete CList.java
rjeez Feb 23, 2021
9a54a07
Delete Duke.java
rjeez Feb 23, 2021
8da1bee
Delete ICommand.java
rjeez Feb 23, 2021
83cca67
Delete DukeException.java
rjeez Feb 23, 2021
25b32ce
Delete CTodo.java
rjeez Feb 23, 2021
3cbcc61
Delete DukeList.java
rjeez Feb 23, 2021
b2aeeb5
Delete DialogBox.java
rjeez Feb 23, 2021
9f8213d
Delete Launcher.java
rjeez Feb 23, 2021
ecf95c1
Delete Main.java
rjeez Feb 23, 2021
63bbe1d
Delete MainWindow.java
rjeez Feb 23, 2021
f079d43
Delete Parser.java
rjeez Feb 23, 2021
483cde5
Delete Storage.java
rjeez Feb 23, 2021
b8e7697
Delete Deadline.java
rjeez Feb 23, 2021
72951de
Delete Event.java
rjeez Feb 23, 2021
78ee103
Delete Task.java
rjeez Feb 23, 2021
c1109b5
Delete Ui.java
rjeez Feb 23, 2021
ac94bbe
Delete Todo.java
rjeez Feb 23, 2021
5eb4386
Create DukeException.java
rjeez Feb 23, 2021
b18c912
Create DukeList.java
rjeez Feb 23, 2021
4ddf0b7
Create DialogBox.java
rjeez Feb 23, 2021
66ffb11
Create Launcher.java
rjeez Feb 23, 2021
ba2d598
Create Launcher2.java
rjeez Feb 23, 2021
b250a17
Create Main.java
rjeez Feb 23, 2021
e2fe5a1
Create MainWindow.java
rjeez Feb 23, 2021
87e7f6b
Create Parser.java
rjeez Feb 23, 2021
29e7142
Create Storage.java
rjeez Feb 23, 2021
c1bb749
Create Deadline.java
rjeez Feb 23, 2021
719cc69
Create Task.java
rjeez Feb 23, 2021
5d7692a
Create Event.java
rjeez Feb 23, 2021
f48fa6d
Create Todo.java
rjeez Feb 23, 2021
498c1d6
Create Ui.java
rjeez Feb 23, 2021
4d79237
Delete Bot.jpg
rjeez Feb 23, 2021
493921f
Delete User.jpg
rjeez Feb 23, 2021
9201104
Delete DialogBox.fxml
rjeez Feb 23, 2021
f65e8d0
Delete MainWindow.fxml
rjeez Feb 23, 2021
bcfbaea
Create DialogBox.fxml
rjeez Feb 23, 2021
3e769f2
Create User.jpg
rjeez Feb 23, 2021
4e0112b
Create Bot.jpg
rjeez Feb 23, 2021
6db33ca
Create MainWindow.fxml
rjeez Feb 23, 2021
c059910
Update build.gradle
rjeez Feb 23, 2021
b0a61cc
Create duke.txt
rjeez Feb 23, 2021
b23f294
Create Help.PNG
rjeez Feb 23, 2021
d369a07
Update README.md
rjeez Feb 23, 2021
e1a6979
Create Ui.PNG
rjeez Feb 23, 2021
bdc98ad
Delete gradle-wrapper.jar
rjeez Feb 23, 2021
165bba4
Delete gradle-wrapper.properties
rjeez Feb 23, 2021
6391b95
Update gradle-wrapper.properties
rjeez Feb 23, 2021
e5124f2
Update CBye.java
rjeez Feb 23, 2021
7e9c75c
Update CDeadline.java
rjeez Feb 23, 2021
ff26236
Update CDelete.java
rjeez Feb 23, 2021
05f4e38
Update CDone.java
rjeez Feb 23, 2021
5438274
Delete CDue.java
rjeez Feb 23, 2021
14108f7
Update CEvent.java
rjeez Feb 23, 2021
06d4a0c
Update CFind.java
rjeez Feb 23, 2021
c9babe0
Create CHelp.java
rjeez Feb 23, 2021
c604ebb
Update CList.java
rjeez Feb 23, 2021
73a662d
Update CTodo.java
rjeez Feb 23, 2021
038e398
Update ICommand.java
rjeez Feb 23, 2021
ad92a54
Update Duke.java
rjeez Feb 23, 2021
5bc3889
Update DukeException.java
rjeez Feb 23, 2021
a3d5181
Update DukeList.java
rjeez Feb 23, 2021
22c5998
Update DialogBox.java
rjeez Feb 23, 2021
1f1fb24
Update Launcher.java
rjeez Feb 23, 2021
25340b7
Delete Launcher2.java
rjeez Feb 23, 2021
b2a1c33
Update Main.java
rjeez Feb 23, 2021
d659477
Update MainWindow.java
rjeez Feb 23, 2021
2b4603b
Update Parser.java
rjeez Feb 23, 2021
4f5426e
Update Storage.java
rjeez Feb 23, 2021
03d1af8
Update Deadline.java
rjeez Feb 23, 2021
83d488e
Update Event.java
rjeez Feb 23, 2021
b7e33f3
Update Task.java
rjeez Feb 23, 2021
8cb4d02
Update Todo.java
rjeez Feb 23, 2021
51908fa
Update Ui.java
rjeez Feb 23, 2021
fd6f680
Delete Bot.jpg
rjeez Feb 23, 2021
5fadee5
Create Bot.png
rjeez Feb 23, 2021
6b71f4e
Delete User.jpg
rjeez Feb 23, 2021
55e5ba0
Create User.png
rjeez Feb 23, 2021
1b5c762
Update MainWindow.fxml
rjeez Feb 23, 2021
e2e6565
Update EXPECTED.TXT
rjeez Feb 23, 2021
15e08dd
Update input.txt
rjeez Feb 23, 2021
0ae4202
Update README.md
rjeez Feb 23, 2021
dd20c32
Set theme jekyll-theme-time-machine
rjeez Feb 27, 2021
c3c8842
Update build.gradle
rjeez Feb 27, 2021
94504f7
Update EXPECTED.TXT
rjeez Feb 27, 2021
53ddf2b
Update input.txt
rjeez Feb 27, 2021
ff5c777
Merge branch 'master' of https://github.com/rjeez/ip
rjeez Feb 27, 2021
df1f842
Delete Ui.PNG
rjeez Mar 1, 2021
baa1c36
Create Ui.png.PNG
rjeez Mar 1, 2021
756f21f
Add JUnit testing
rjeez Mar 15, 2021
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
28 changes: 11 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,17 @@
# Duke project template
# Duke bot 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
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 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).
1. After that, 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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
Open Intellij (if you are not in the welcome screen, click File > Close Project to close the existing project dialog first)
Set up the correct JDK version, as follows:
Click Configure > Structure for New Projects and then Project 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
Import the project into Intellij as follows:
Click Open or Import.
Select the project directory, and click OK
If there are any further prompts, accept the defaults.
56 changes: 56 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
plugins {
id 'java'
id 'application'
id 'checkstyle'
id "com.github.johnrengelman.shadow" version "6.0.0"
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
mavenCentral()
}
sourceSets {
main {
java {
srcDirs = ['src']
}
}

}


dependencies {
compile 'junit:junit:4.12'
}
run {
enableAssertions = true
}
test {
useJUnitPlatform()
}

dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.4.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.4.0'
implementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
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'
}
checkstyle {
toolVersion = '8.23'
}
mainClassName ="main.duke.gui.Launcher"
2 changes: 2 additions & 0 deletions data/duke.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
E~1~tosleep~2020-01-01 2401
T~0~sample
Binary file added docs/Help.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
118 changes: 112 additions & 6 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,126 @@
# User Guide
Duke bot is a chat bot designed to be used via a command line interface(CLI) with the benefits of using a graphical user interface(GUI).

## Features
>list : prints you the list of store tasks<br>
bye : terminates the program<br>
help : prints descriptions and samples of each feature<br>
todo [your task input] : adds a todo type task<br>
event [your task input] /at [YYYY-MM-DD hhmm]: adds an event type task<br>
deadline [your task input] /by [YYYY-MM-DD hhmm]: adds a deadline type task<br>
delete[number] : deletes the selected task<br>
done[number] : make the selected task done<br>
find [search string] : finds tasks that matches the string description<br>

### Feature 1
Description of feature.
### `list` - prints you the list of store tasks


Example of usage:

`list`

Expected outcome:

`These are the tasks in your list:
1.[T] [X] sample`

### `bye` - terminates the program


Example of usage:

`bye`

Expected outcome:

`Goodbye!`

### `help` - prints descriptions and samples of each feature


Example of usage:

`help`

Expected outcome:

![Duke_Interface](Help.PNG)
### `todo` - adds a todo type task



Example of usage:

`todo sleep`

Expected outcome:

>Added the following task: <br>
> [T][X] sleep<br>
>You now have 1 tasks in your list

### `event` - adds an event type task

## Usage

### `Keyword` - Describe action

Example of usage:

`event tosleep /at 2020-01-01 1111`

Expected outcome:

>Added the following task:<br>
> [E][X] tosleep 2020-01-01 1111
>You now have 1 tasks in your list

### `deadline` - adds a deadline type task


Example of usage:

`deadline wakeup /by 2020-01-01 1111`

Expected outcome:

>Added the following task:<br>
> [D][X] wakeup 2020-01-01 1111
>You now have 1 tasks in your list

### `delete` - deletes the selected task


Example of usage:

`delete 1`

Expected outcome:

>The following task has been removed:<br>
> [T][X] sample
>You now have 0 tasks in your list

### `done` - make the selected task done

Describe action and its outcome.

Example of usage:

`keyword (optional arguments)`
`done 1`

Expected outcome:

>Following task has been marked done:<br>
>[T][O] sample

### `find` - finds tasks that matches the string description


Example of usage:

`find sample`

Expected outcome:

`outcome`
>Here are the tasks you asked for:<br>
>1. [T][X] sample

Binary file added docs/Ui.png.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
theme: jekyll-theme-time-machine
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
6 changes: 6 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Tue Feb 23 16:47:37 SGT 2021
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
Loading