Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
d839859
Add Gradle support
May 24, 2020
ad6e1e2
level 1
tswei123 Aug 27, 2021
8dbc0fe
Level 2
tswei123 Aug 27, 2021
13c324f
Update level 2 with List.java for cleaner program
Aug 28, 2021
7e8c093
Changed String to Task for Level - 3
Aug 28, 2021
f66a69e
Add Gradle support
May 24, 2020
826499d
Revert "Add Gradle support"
Sep 4, 2021
f4848e2
Level - 4. Todo, deadline, events
Sep 5, 2021
ebda206
Level-5
Sep 18, 2021
f62d382
Level-5 v1.0
Sep 18, 2021
9bdd2eb
Level-6 Implement delete
Oct 3, 2021
177cfa4
Level-6 Fix print output for delete.
Oct 3, 2021
c14c602
Level-6 Remove excess data
Oct 3, 2021
4060c06
Level-7 implementation of more OOP system
Oct 9, 2021
37d9a2c
Level-7 Refactor to a more OOP structure. Added save file.
Oct 10, 2021
96d2a7e
Level-7 Implement load file
Oct 10, 2021
00788b3
Level-7 Clean up old unused code.
Oct 10, 2021
f7b0ac7
Level-7 Package class file into 4 packages. Change method of printing…
Oct 22, 2021
ace2b33
Merge remote-tracking branch 'origin/add-gradle-support'
Oct 22, 2021
288c535
Duke accepts single format of Date only
Oct 30, 2021
a6d245d
Changed to LocalDateTime format
Oct 30, 2021
86313b8
Level-9 Find command added
Oct 30, 2021
95c39fd
View schedule by date
Nov 2, 2021
9a8a8f3
Implement Detection of anomalies for events
Nov 2, 2021
aaf97a5
Update UI for user instructions and date format
Nov 2, 2021
f2051d7
Level-10 Implemented check for anomaly. Added Time to event class and…
Nov 5, 2021
ae87d5b
Fix code to end loop early
Nov 6, 2021
0416370
Level-10 New JavaFX branch
Nov 6, 2021
8112cbc
test
Nov 6, 2021
110bc98
Revert "test"
Nov 6, 2021
b696de8
Level - 10 implemented GUI
Nov 6, 2021
966b480
Merge branch 'master' into JavaFX_Testing
Nov 6, 2021
9f97046
Level - 8.2 Added more JUnit test cases
Nov 7, 2021
f02f89a
Level - 6.1 Added enums
Nov 7, 2021
54521c8
Update text print output for JavaFX
Nov 7, 2021
934e832
Code cleanup and add new exception for date
Nov 7, 2021
95cface
Level - 6.1.1 Converting more code to enums. Changed welcoming message
Nov 7, 2021
2927a55
Level - 8.1 Added more JavaDocs
Nov 7, 2021
188fcee
Level - 6.2 Change code to use more enumerations.
Nov 7, 2021
465ac07
Reformat code
Nov 7, 2021
7921d89
removed java sdk
Nov 7, 2021
2a2d2b0
Modify readme
Nov 14, 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
56 changes: 32 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,32 @@
# 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 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).<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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
# Duke assignment TIC2002

Program that takes in user input and create a list of task which should benefit the user.

## Commands
Add and assignment to do.
`Todo` --- **todo assignment**

Add an assignment with deadline on 10 Oct 2021 2359
`Deadline` --- **deadline assignment submission /by 2021-10-10 2359**

Add an event that happens from 21 Dec 2021 8PM to 9:30PM
`Event` --- **event live concert /at 2021-12-21 2000 /for 1:30**

List all task.
`List` --- **list**

Set a task as done according to the order in list. Sets task 1 as done if it exists.
`Done` --- **done 1**

Delete a task according to the order in list. Deletes task 1 if it exists.
`Delete` --- **delete 1**

Find the task with description matching the keyword. Find all task with assignment in description.
`Find` --- **find assignment**

View the task with date matching the search date. Find all task which occurs on Nov 15 2021.
`View` --- **view 2021-11-15**

Saves and exit program.
`Bye` --- **bye**

70 changes: 70 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
plugins {
id 'java'
id 'application'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '5.1.0'
id 'org.openjfx.javafxplugin' version '0.0.10'
}



repositories {
mavenCentral()
}

dependencies {
implementation 'org.jetbrains:annotations:20.1.0'
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 = "Launcher"
}

shadowJar {
archiveBaseName = "duke"
archiveClassifier = null
}

checkstyle {
toolVersion = '8.29'
}

run{
standardInput = System.in
}

javafx {
version = "17"
modules = [ 'javafx.controls', 'javafx.fxml' ]
}
5 changes: 5 additions & 0 deletions data/tasks.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
D | 1 | Complete assignment | 2021-10-21 2359
E | 0 | Concert | 2021-10-22 1300 | 01:30
D | 0 | Assignment 2 | 2021-11-30 0001
T | 0 | Sumbit assignment
E | 0 | concert 2 | 2021-11-21 2000 | 02:30
3 changes: 3 additions & 0 deletions data/test.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
D | 1 | Complete assignment | 2021-10-21 2359
E | 0 | Concert | 2021-10-22 1300
D | 0 | Assignment 2 | 2021-11-30 0001
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 5 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
183 changes: 183 additions & 0 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading