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

[Clarence Chew] iP #37

Open
wants to merge 78 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
3639bc2
Add basic bot requirements
clarence-chew Aug 13, 2022
c2e2fc3
Add listing feature
clarence-chew Aug 16, 2022
1f5f99b
Add ability to mark and unmark tasks as done
clarence-chew Aug 16, 2022
ea599f7
Add ToDo, Deadline, Event
clarence-chew Aug 17, 2022
b285814
Fix bug that backslash is used for commands instead of forward slash
clarence-chew Aug 17, 2022
7be191c
Handle errors
clarence-chew Aug 17, 2022
4320c7f
Add deleting of tasks
clarence-chew Aug 17, 2022
84bac17
Improve documentation, add command robustness to extra spaces
clarence-chew Aug 19, 2022
2af3298
Add file I/O for persistent state
clarence-chew Aug 20, 2022
edc2f92
Add capability to recognise some date/time formats
clarence-chew Aug 20, 2022
8f02273
Merge branch 'branch-Level-7'
clarence-chew Aug 20, 2022
bcced0f
Merge branch 'branch-Level-8'
clarence-chew Aug 20, 2022
1ed84f9
Add Ui class to handle user interface outputs
clarence-chew Aug 20, 2022
bb7ed9c
Extract Storage, Parser, TaskList classes
clarence-chew Aug 20, 2022
6e160d2
Move classes into packages
clarence-chew Aug 20, 2022
9611cbd
Add files in attempt to add Gradle
clarence-chew Aug 24, 2022
efb5c95
Add remaining files to add gradle support
clarence-chew Aug 24, 2022
f929e81
Change mainClassName to duke.Duke for Gradle to run project
clarence-chew Aug 24, 2022
d2333f2
Add some documentation and TaskTest
clarence-chew Aug 25, 2022
8f0bdb2
Add tests for Deadline; unroll import * s
clarence-chew Aug 26, 2022
28ea520
Actually add DeadlineTest
clarence-chew Aug 26, 2022
cdf8c76
Fix bugs related to package refactoring changing strings
clarence-chew Aug 26, 2022
7448407
Follow coding standard
clarence-chew Aug 26, 2022
366007c
Add JavaDoc for all public methods
clarence-chew Aug 26, 2022
fe22a6b
Add find feature
clarence-chew Aug 26, 2022
c70d84d
Merge branch 'branch-A-JavaDoc'
clarence-chew Aug 26, 2022
69ac08d
Merge branch 'branch-A-CodingStandard'
clarence-chew Aug 26, 2022
77200d2
Merge branch 'branch-Level-9'
clarence-chew Aug 26, 2022
ee22800
Add checkstyle and prepare for JavaFX
clarence-chew Aug 27, 2022
2ef6f93
Refactor Predicate in CommandMatcher to shouldRunCommand
clarence-chew Aug 27, 2022
7ba6ac3
Add more JUnit tests
clarence-chew Aug 27, 2022
9a79557
Remove unused commented out code
clarence-chew Aug 28, 2022
73bb023
Fix JavaDoc by adding the missing blank line in JavaDoc comment
clarence-chew Aug 31, 2022
86b1cde
Add backwards compatible text-ui-test regression testing as integrati…
clarence-chew Sep 2, 2022
fee826f
Add GUI, still unsuccessful
clarence-chew Sep 3, 2022
f8b09b2
Add some modifications to see what is going on
clarence-chew Sep 3, 2022
eac0d68
Add GUI, this time it can run by directly running the Launcher class
clarence-chew Sep 3, 2022
1b6800d
Enable assertions
clarence-chew Sep 3, 2022
4756cfd
Merge branch 'branch-Level-10'
clarence-chew Sep 3, 2022
da207d2
Reorder classes for JUnit Tests
clarence-chew Sep 4, 2022
638bdb0
Add configuration in build.gradle
clarence-chew Sep 4, 2022
8e185e6
Standardize error messages and improve documentation
clarence-chew Sep 4, 2022
fc861dd
Add DukeException class and DukeResponse class
clarence-chew Sep 9, 2022
734a8e6
Resolve regressions found via testing
clarence-chew Sep 9, 2022
be3cdeb
Add null checking assertions
clarence-chew Sep 9, 2022
7e7db1b
Add code quality improvements
clarence-chew Sep 9, 2022
0f98333
Improve JavaDoc
clarence-chew Sep 9, 2022
d378666
Merge pull request #1 from clarence-chew/branch-A-Assertions
clarence-chew Sep 9, 2022
7c56d8e
Merge branch 'master' into branch-A-CodeQuality
clarence-chew Sep 9, 2022
02b41a4
Merge pull request #2 from clarence-chew/branch-A-CodeQuality
clarence-chew Sep 9, 2022
bd79b11
Merge branch 'master' of https://github.com/clarence-chew/nus-cs2103-…
clarence-chew Sep 9, 2022
f3f86d5
Add Continuous Integration
clarence-chew Sep 9, 2022
38a15dd
Make gradlew executable
clarence-chew Sep 9, 2022
1ead7d4
Make runtest.sh executable
clarence-chew Sep 9, 2022
a13b5aa
Modify runtest.sh
clarence-chew Sep 9, 2022
eb0dc25
Fix regression caused by adding quotes to string constant
clarence-chew Sep 9, 2022
316e6a8
Prepare by abstracting out StringMatcher from CommandMatcher
clarence-chew Sep 10, 2022
2063978
Add C-Natural Dates
clarence-chew Sep 11, 2022
3091fd3
Add B-Snooze
clarence-chew Sep 11, 2022
f0b49cc
Add D-Notes
clarence-chew Sep 12, 2022
b51cfc0
Add the deletion of dukeNotes in runtest.sh to run *nix CI test
clarence-chew Sep 12, 2022
04b8cab
Merge pull request #4 from clarence-chew/branch-BCD-Extension
clarence-chew Sep 12, 2022
1d66f50
Add border to DialogBox
clarence-chew Sep 12, 2022
b27e7fc
Remove repeated "delete" command from Parser
clarence-chew Sep 13, 2022
036a20b
Give credit in the code to SE-EDU tutorial
clarence-chew Sep 13, 2022
5c95f36
Update documentation and testing
clarence-chew Sep 14, 2022
c41a877
Add user guide and screenshot
clarence-chew Sep 15, 2022
18a94ea
Update testing
clarence-chew Sep 15, 2022
3fa8062
Set shadowJar name to Anthea
clarence-chew Sep 15, 2022
35d0667
Update .gitignore to ignore testing files
clarence-chew Sep 15, 2022
c532099
Add quickstart section to the user guide
clarence-chew Sep 15, 2022
4cc60d7
Update user guide to handle issues with Mac
clarence-chew Sep 19, 2022
9c9a5ad
Remove javafx block from build.gradle file
clarence-chew Sep 20, 2022
9cce6ca
Fix bug which involves rescheduling Deadline
clarence-chew Oct 10, 2022
0be51dd
Fix code quality issues
clarence-chew Sep 18, 2023
46538d3
Make UI show text properly
clarence-chew Sep 19, 2023
8120cf3
Finish chatbot renaming
clarence-chew Sep 21, 2023
ec4896d
Fix checkstyle issue
clarence-chew Sep 21, 2023
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/tests.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
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,11 @@ src/main/resources/docs/
*.iml
bin/

# Testing files
anthea.txt
antheaNotes.txt
/text-ui-test/ACTUAL.txt
/text-ui-test/ACTUAL1.txt
text-ui-test/EXPECTED-UNIX.TXT
/text-ui-test/anthea.txt
/text-ui-test/antheaNotes.txt
25 changes: 2 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,3 @@
# Duke project template
# Anthea - Chatbot Task Organiser

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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
This is an implementation extending a project template for a greenfield Java project. It's named after the Java mascot _Duke_.
63 changes: 63 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
plugins {
id 'java'
id 'application'
id 'com.github.johnrengelman.shadow' version '5.1.0'
id 'checkstyle'
id 'org.openjfx.javafxplugin' version '0.0.10'
}

checkstyle {
toolVersion = '10.2'
}

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 = "anthea.gui.Launcher"
}

shadowJar {
archiveBaseName = "Anthea"
archiveClassifier = null
}

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