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

[Tan Hin Khai Stephen] iP #454

Open
wants to merge 44 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
3b19ba1
Add Gradle support
May 24, 2020
04795bd
Level 1 added
blackonyyx Aug 17, 2020
af52847
Level 2 is here
blackonyyx Aug 17, 2020
6dbdb55
Level 3
blackonyyx Aug 18, 2020
00166f5
A-Classes used classes to represent tasks
blackonyyx Aug 18, 2020
962693b
Added Inheritance for tasks and managed tasks via manager
blackonyyx Aug 19, 2020
69ac44d
Added sh script automated testing
blackonyyx Aug 20, 2020
379eb1c
Added Enums, Packaged Related classes together, Error handling
blackonyyx Aug 20, 2020
8e70ce3
Added Delete command to the list of supported commands
blackonyyx Aug 20, 2020
7287ce9
Added IO file handling to the Chatbot Application such that the Chatbot
blackonyyx Aug 25, 2020
cd26774
Added datetime parsing to the TimedTask Classes
blackonyyx Aug 25, 2020
25b8c2a
Merge branch 'branch-Level-8'
blackonyyx Aug 27, 2020
f909eb3
More OOP
blackonyyx Aug 27, 2020
b90a157
1. Add jUnit Testing on Timed Task and TextParser Class
blackonyyx Aug 27, 2020
04db2ff
Branch for Level 9 of Duke Project.
blackonyyx Aug 28, 2020
8ad3c66
Make Code adheres to java code standards of module.
blackonyyx Aug 28, 2020
5a72d63
Add javadocs for all constructors and class headers,
blackonyyx Aug 29, 2020
535afe7
Merge branch 'A-JavaDoc' of https://github.com/blackonyyx/ip
blackonyyx Aug 29, 2020
f7f5414
Merge branch 'branch-Level-9' of https://github.com/blackonyyx/ip
blackonyyx Aug 29, 2020
08208e0
Merge branch 'add-gradle-support' of https://github.com/blackonyyx/ip
blackonyyx Aug 31, 2020
6261301
Add gradle integration into master branch.
blackonyyx Aug 31, 2020
454fbd2
Enforced CheckStyle on all violating code blocks
blackonyyx Sep 2, 2020
0c58a00
Add a GUI for the Duke Application
blackonyyx Sep 5, 2020
bf97679
Add Major overhaul and refactor of code base to follow a more functional
blackonyyx Sep 9, 2020
4ab281c
Add new refactoring of GUI to have better feel.
blackonyyx Sep 11, 2020
ad6ee84
Amend Code to conform with Checkstyle requirements.
blackonyyx Sep 11, 2020
34dc6db
Minor String Formatting modifications
blackonyyx Sep 11, 2020
1cabdc8
Merge pull request #1 from blackonyyx/branch-A-Assertions
blackonyyx Sep 11, 2020
fa1e1bb
Minor Code Formatting modifications
blackonyyx Sep 11, 2020
26295c2
Merge branch 'master' into branch-A-CodeQuality
blackonyyx Sep 11, 2020
97fccd0
Create gradle.yml
blackonyyx Sep 11, 2020
58e7cc9
Merge pull request #4 from blackonyyx/Continuous-Integ-2
blackonyyx Sep 11, 2020
3ae73c5
Merge pull request #3 from blackonyyx/branch-A-CodeQuality
blackonyyx Sep 11, 2020
42861a1
stuff
blackonyyx Sep 14, 2020
0371616
Merge branch 'master' of https://github.com/blackonyyx/ip
blackonyyx Sep 14, 2020
9caac97
Amend Code to contain less this.<attribute / method> to conform with the
blackonyyx Sep 14, 2020
4f15860
Add User Guide to the project repository and update README.md to reflect
blackonyyx Sep 14, 2020
40edbce
Add README.md and Userguide help.
blackonyyx Sep 14, 2020
e4d5cf5
Set theme jekyll-theme-dinky
blackonyyx Sep 15, 2020
c94b6d0
Merge branch 'master' of https://github.com/blackonyyx/ip
blackonyyx Sep 15, 2020
ec13865
Add README.md and Userguide help.
blackonyyx Sep 15, 2020
b45c888
Set theme jekyll-theme-dinky
blackonyyx Sep 17, 2020
bb34eff
Removed boiler plate code
blackonyyx Sep 18, 2020
c275aea
Merge branch 'master' of https://github.com/blackonyyx/ip
blackonyyx Sep 18, 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
50 changes: 50 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
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

- name: Perform IO redirection test (*NIX)
if: runner.os == 'Linux'
working-directory: ${{ github.workspace }}/text-ui-test
run: ./runtest.sh

- name: Perform IO redirection test (MacOS)
if: always() && runner.os == 'macOS'
working-directory: ${{ github.workspace }}/text-ui-test
run: ./runtest.sh

- name: Perform IO redirection test (Windows)
if: always() && runner.os == 'Windows'
working-directory: ${{ github.workspace }}/text-ui-test
shell: cmd
run: runtest.bat
52 changes: 30 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,34 @@
# Duke project template
# Duke project
Duke Application, made by [Stephen Tan](https://www.linkedin.com/in/stephen-tan-hin-khai/) under
the module CS2103T 2020/21 Sem 1.
This is a greenfield Java project. It's named after the Java mascot _Duke_.

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.
Please check [here](docs/README.md) for the User Guide

## Setting up in Intellij
## Pre-Requisites for use
Install Java 11
## Getting Started
To execute the program, or start the Duke Chatbot:

Prerequisites: JDK 11, update Intellij to the most recent version.
Double click the jar file, or enter by command prompt
```
java -jar duke.jar
```
If you prefer a Command Line Interface, type:
```
java -jar duke.jar -cli
```
Then, type the help command to get help on what Duke can do.
```
help
```

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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
![Duke UI](docs/Ui.png)

## Acknowledgements
In this project, I acknowledge referencing [here](https://github.com/JoeyChenSmart/ip)
for inspiration for the functional software pattern used.

Use of Gradle project Wrapper.

Initial Template is taken from [Prof Damith](https://github.com/damithc)
1 change: 1 addition & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
theme: jekyll-theme-dinky
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 {
String javaFxVersion = '11.0.1'
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'
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'
}

test {
useJUnitPlatform()

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

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

application {
mainClassName = "duke.ChatbotApplication"
}

shadowJar {
archiveBaseName = "duke"
archiveClassifier = null
}

checkstyle {
toolVersion = '8.29'
}

run{
enableAssertions(true)
standardInput = System.in
}
Loading