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

[Brandon Thio] iP #19

Open
wants to merge 37 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
0c3da27
Implement a skeletal version of Duke that starts by greeting the user…
beetee17 Aug 18, 2022
2ad4f4f
Add the ability to store whatever text entered by the user and displa…
beetee17 Aug 18, 2022
924f7a6
Add the ability to mark tasks as done. Optionally, add the ability to…
beetee17 Aug 18, 2022
1b0d220
Add support for tracking three types of tasks: todo, deadline and event
beetee17 Aug 18, 2022
5c79a7a
Handle various errors such as incorrect inputs entered by the user.
beetee17 Aug 18, 2022
0a380b6
Add support for deleting tasks from the list.
beetee17 Aug 18, 2022
76ba80d
Use the input/output redirection technique to semi-automate the testi…
beetee17 Aug 18, 2022
a8dd5e0
Save the tasks in the hard disk automatically whenever the task list …
beetee17 Aug 19, 2022
2095cd0
Store deadline dates as a java.time.LocalDate in task objects. Accept…
beetee17 Aug 19, 2022
450f9f1
Merge branch 'branch-Level-8'
beetee17 Aug 20, 2022
d262c93
Fix unable to parse date when it has surrounding whitespace
beetee17 Aug 20, 2022
bbd1cef
Organise the classes into suitable java packages.
beetee17 Aug 20, 2022
13323ef
Extract the following classes:
beetee17 Aug 20, 2022
f9b64ff
Rename delete function
beetee17 Aug 23, 2022
780f4eb
Use Gradle to automate some of the build tasks of the project.
beetee17 Aug 23, 2022
ce5ee12
Package the app as an executable JAR file so that it can be distribut…
beetee17 Aug 23, 2022
6deaeb9
Setup dummy JUnit tests
beetee17 Aug 23, 2022
569cd0b
Organise commands, parser, storage, ui into their own packages
beetee17 Aug 23, 2022
aea5945
Add JavaDoc comments to the code.
beetee17 Aug 23, 2022
c4284fe
Tweak the code to comply with a coding standard
beetee17 Aug 23, 2022
a326853
Give users a way to find a task by searching for a keyword.
beetee17 Aug 23, 2022
a400c98
Merge branch 'branch-A-CodingStandard'
beetee17 Aug 23, 2022
b001e9e
Merge branch 'branch-Level-9'
beetee17 Aug 23, 2022
ba264ca
Add JUnit tests to test the behavior of the code.
beetee17 Aug 24, 2022
46c36e2
Use checkStyle to detect coding style violations.
beetee17 Aug 26, 2022
c5236d6
Got javaFX minimal example working
beetee17 Aug 26, 2022
b610b49
Add minimal GUI using JavaFX
beetee17 Sep 1, 2022
21c6238
Merge branch 'branch-A-Checkstyle'
beetee17 Sep 5, 2022
49c9a18
Use assert feature (not JUnit assertions) to document important assum…
beetee17 Sep 5, 2022
3d97211
Remove dead code and replace if-else branching with switch statement …
beetee17 Sep 5, 2022
e7aa1b0
Merge pull request #1 from beetee17/branch-A-CodeQuality
beetee17 Sep 5, 2022
47fc51e
Merge pull request #2 from beetee17/branch-A-Assertions
beetee17 Sep 5, 2022
c01b089
Provide a way to tag items
beetee17 Sep 6, 2022
b00c6c3
Add a User Guide to the project
beetee17 Sep 16, 2022
923c068
Move Readme to docs folder
beetee17 Sep 16, 2022
b6b8713
Update the main Readme page
beetee17 Sep 16, 2022
7ce06ba
Release the product to be used by potential users
beetee17 Sep 16, 2022
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
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ src/main/resources/docs/
*.iml
bin/

/text-ui-test/ACTUAL.txt
text-ui-test/EXPECTED-UNIX.TXT
/text-textUi-test/ACTUAL.txt
text-textUi-test/EXPECTED-UNIX.TXT
19 changes: 6 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Duke project template
# duke.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.

Expand All @@ -8,17 +8,10 @@ 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. 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).<br>
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:
```
Hello from
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
3. After that, locate the `src/main/java/duke/Launcher.java` file, right-click it, and choose `Run Launcher.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:
![Duke](docs/Ui.png)
62 changes: 62 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
plugins {
id 'java'
id 'application'
id 'com.github.johnrengelman.shadow' version '5.1.0'
id 'checkstyle'
id 'org.openjfx.javafxplugin' version '0.0.10'
}

repositories {
mavenCentral()
}

dependencies {

testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.9.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.9.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
}
}

checkstyle {
toolVersion = '10.2'
}

application {
mainClassName = "duke.Launcher"
}

shadowJar {
archiveBaseName = "duke"
archiveClassifier = null
}

run {
standardInput = System.in
}
Loading