Skip to content

[Justine Koh] iP #291

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

Open
wants to merge 60 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
d839859
Add Gradle support
May 24, 2020
4fce0f6
Added greet, echo and exit functions. Changed chatbot name to Bob.
Jan 20, 2022
9ac9e68
Change scanner.next to scanner.nextLine
Jan 20, 2022
a1045ae
Added list and add functionality.
Jan 20, 2022
0ae915c
Added Task class and updated chatbot to utilize Tasks.
Jan 20, 2022
fc535fc
Added subclasses of Task, including Deadline, Event and ToDo classes.
Jan 20, 2022
f2f2c56
Setup automatic testing of chatbot.
Jan 20, 2022
ae22568
Added some exception handling for incompatible user inputs.
Jan 20, 2022
7884565
Added Delete functionality and associated error handling. Fixed some …
Jan 20, 2022
830007a
Add persistent storage functionality and change name of program to Bob
Feb 6, 2022
1508ced
Change date and time from string to LocalDateTime type
Feb 6, 2022
f193772
Merge branch 'branch-Level-8'
Feb 6, 2022
c785250
Add Ui and TaskList classes to improve abstraction
Feb 6, 2022
2b6426c
Add JUnit tests and additional abstractions
Feb 6, 2022
5b3df2b
Add JavaDoc comments on all public classes and most public methods
Feb 6, 2022
8e72357
Improve coding standard to improve readability
Feb 6, 2022
94dd18c
Merge branch 'branch-A-CodingStandard'
Feb 6, 2022
59928f7
Add Find functionality
Feb 6, 2022
a307011
Merge branch 'branch-Level-9'
Feb 6, 2022
a280316
Correct Find functionality
Feb 6, 2022
3d9da02
Merge commit 'd8398594b7bc43da5eb865321c5a50cec4b3923d'
Feb 8, 2022
cda7b30
Configure Gradle for project
Feb 8, 2022
f3232b5
Add checkstyle to project
Feb 8, 2022
3c01c28
Add GUI to Bob
Feb 17, 2022
c823917
Add assertions to check for necessary conditions in program flow
Feb 17, 2022
66d6df2
Add .yml file for Continuous Integration
Feb 17, 2022
fd9a8e8
Improve code quality
Feb 17, 2022
fe593f1
Merge pull request #2 from justinekoh/branch-A-CI
justinekoh Feb 17, 2022
18d29ab
Merge branch 'master' of https://github.com/justinekoh/ip
Feb 17, 2022
0e9ac4d
Merge branch 'master' into branch-A-Assertions
Feb 17, 2022
c6c0a5f
Merge branch 'master' into branch-A-CodeQuality
Feb 17, 2022
825500d
Merge pull request #3 from justinekoh/branch-A-Assertions
justinekoh Feb 17, 2022
23862e0
Merge branch 'master' of https://github.com/justinekoh/ip
Feb 17, 2022
84f5765
Merge branch 'master' into branch-A-CodeQuality
Feb 17, 2022
5c141fd
Merge pull request #4 from justinekoh/branch-A-CodeQuality
justinekoh Feb 17, 2022
bda11a1
Merge branch 'master' of https://github.com/justinekoh/ip into branch…
Feb 17, 2022
808ee04
Merge branch 'master' of https://github.com/justinekoh/ip
Feb 17, 2022
bf11233
Merge branch 'branch-A-CodeQuality'
Feb 17, 2022
7203541
Add command and archive functionalities
Feb 19, 2022
854b075
Merge pull request #5 from justinekoh/branch-C-Archive
justinekoh Feb 19, 2022
37a5bd0
Improve GUI
Feb 21, 2022
2f560e7
Improve GUI
Feb 21, 2022
3e1c658
Change JavaFX version in DialogBox and MainWindow fxml files
Feb 21, 2022
0f23d43
Add Ui.png and edit JavaDocs
Feb 21, 2022
67644d2
Set theme jekyll-theme-minimal
justinekoh Feb 21, 2022
d985f21
Update README.md
Feb 21, 2022
c8a0b41
Update README.md
justinekoh Feb 21, 2022
b593ff4
Set theme jekyll-theme-cayman
justinekoh Feb 21, 2022
7054c66
Set theme jekyll-theme-minimal
justinekoh Feb 21, 2022
cb9dd5e
Update README.md
justinekoh Feb 21, 2022
08ff0b4
Update README.md
justinekoh Feb 21, 2022
eaabf01
Add sample run to README
justinekoh Feb 21, 2022
ec21da8
Correct typo
justinekoh Feb 21, 2022
3a8e7da
Add startup UI photo
Feb 21, 2022
30281e7
Edit startup UI photo
Feb 21, 2022
f4a46ee
Update README.md
justinekoh Feb 21, 2022
4cdacd9
Fix bugs and JavaDocs
Mar 15, 2022
264edab
Add testcases for ToDo, Event, Deadline classes
Mar 15, 2022
a0fb4aa
Update Ui.png and User Guide
Mar 15, 2022
7842892
Fix bugs, update Ui.png and improve naming convention
Mar 15, 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ bin/

/text-ui-test/ACTUAL.txt
text-ui-test/EXPECTED-UNIX.TXT
data
34 changes: 34 additions & 0 deletions .workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Java CI

on: [push, pull_request]

jobs:
build:
strategy:
matrix:
platform: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.platform }}

steps:
- name: Set up repository
uses: actions/checkout@master

- name: Set up repository
uses: actions/checkout@master
with:
ref: master

- name: Merge to master
run: git checkout --progress --force ${{ github.sha }}

- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1

- name: Setup JDK 11
uses: actions/setup-java@v1
with:
java-version: '11'
java-package: jdk+fx

- name: Build and check with Gradle
run: ./gradlew check
15 changes: 4 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Duke project template
# Bob Project

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.
Given below are instructions on how to navigate this repository.

## Setting up in Intellij

Expand All @@ -13,12 +13,5 @@ Prerequisites: JDK 11, update Intellij to the most recent version.
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/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:
![sample startup](https://github.com/justinekoh/ip/blob/master/docs/startup_ui.png)
60 changes: 60 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
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 = "bob.Launcher"
}

shadowJar {
archiveBaseName = "bob"
archiveClassifier = null
}

checkstyle {
toolVersion = '8.32'
}

run {
standardInput = System.in
}
Loading