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

[Sean Ng] iP #286

Open
wants to merge 57 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
2519155
Level-1
snss231 Jan 19, 2022
a5c779a
Level-2
snss231 Jan 19, 2022
80d70fc
Level-3 A-Classes
snss231 Jan 19, 2022
d536355
Level-4 A-Inheritance
snss231 Jan 19, 2022
fb6d372
A-TextUiTesting
snss231 Jan 19, 2022
6f7b169
Level 5 A-Exceptions
snss231 Jan 19, 2022
719510a
Level-6 A-Collections
snss231 Jan 19, 2022
9863744
A-Enums
snss231 Jan 19, 2022
fbfe1e0
unindent switch cases
snss231 Jan 21, 2022
e97f636
Add save functionality, add more exceptions
snss231 Jan 29, 2022
d42a7f8
Handle data folder does not exist
snss231 Jan 29, 2022
a16f6ca
Add basic date functionality for Deadline
snss231 Jan 29, 2022
46af47a
Merge branch 'branch-level-7'
snss231 Jan 29, 2022
7cf6169
Merge branch 'branch-level-8'
snss231 Jan 29, 2022
0bac52b
Implement TaskList, Storage, add data/ to .gitignore
snss231 Jan 29, 2022
1d1ae32
Create and implement Command class + subclasses
snss231 Jan 29, 2022
1d109e0
Create and implement Command class + subclasses
snss231 Jan 29, 2022
d602326
Create and implement Command + subclasses
snss231 Jan 29, 2022
dfd72e3
Implement ui methods, bro-ify messages, organise into packages"
snss231 Jan 29, 2022
f4c7ed0
Add unit tests for Deadline and Todo
snss231 Jan 29, 2022
637c056
Add javadocs for commands
snss231 Jan 29, 2022
339d188
Add javadocs for tasks
snss231 Jan 29, 2022
03ad577
Add javadocs for Duke, DukeException, Parser, Storage, TaskList, Ui
snss231 Jan 29, 2022
724ff1d
Align to coding standard
snss231 Jan 29, 2022
ee1f046
Add find functionality
snss231 Jan 29, 2022
4ec3ff8
Fix merge conflicts
snss231 Jan 29, 2022
764c52e
Fix merge conflicts
snss231 Jan 29, 2022
40c3895
Fix typo in showMarkTask header
snss231 Jan 29, 2022
0ae899d
Update README.md
snss231 Feb 3, 2022
73414eb
Fix minor coding standard issues
snss231 Feb 4, 2022
699cad2
Fix import *
snss231 Feb 4, 2022
7cfb21a
Add gradle
snss231 Feb 4, 2022
1478520
Merge
snss231 Feb 4, 2022
6210e86
Add checkstyle and fix coding violations
snss231 Feb 4, 2022
1aabae6
Implement GUI
snss231 Feb 4, 2022
4b4fcd7
Add bot logic to GUI
snss231 Feb 4, 2022
3342d28
Add assertions in Duke constructor
snss231 Feb 12, 2022
b054cc9
Split up ShowFindTasks and ShowTasks to improve code quality
snss231 Feb 12, 2022
d2f7a01
Merge pull request #2 from snss231/branch-A-Assertions
snss231 Feb 12, 2022
7ce96b8
Merge branch 'master' into branch-A-CodeQuality
snss231 Feb 12, 2022
b37b782
Merge pull request #3 from snss231/branch-A-CodeQuality
snss231 Feb 12, 2022
44754e2
Setup Github Actions CI
snss231 Feb 12, 2022
7c31dac
Edit workflow file
snss231 Feb 12, 2022
dcd1ed1
Remove unused imports
snss231 Feb 12, 2022
243c2d5
There is no help command.
snss231 Feb 13, 2022
cdfb73d
Add background, adjust padding
snss231 Feb 21, 2022
de3e6db
Add screenshot
snss231 Feb 21, 2022
bd9c531
Make photos circle
snss231 Feb 21, 2022
c890315
Update ss
snss231 Feb 21, 2022
799a36f
Update ss
snss231 Feb 21, 2022
cd4d936
Update README.md
snss231 Feb 21, 2022
ac8d1b1
Update README.md
snss231 Feb 21, 2022
c9e074d
Update README.md
snss231 Feb 21, 2022
ab9f632
Update README.md
snss231 Feb 21, 2022
287cf9d
Update README.md
snss231 Feb 23, 2022
a316127
Update README.md
snss231 Feb 23, 2022
7079f72
Fix checkstyle
snss231 Feb 26, 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
6 changes: 6 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#
# https://help.github.com/articles/dealing-with-line-endings/
#
# These are explicitly windows files and should use crlf
*.bat text eol=crlf

34 changes: 34 additions & 0 deletions .github/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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ bin/

/text-ui-test/ACTUAL.txt
text-ui-test/EXPECTED-UNIX.TXT

data/
25 changes: 4 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,7 @@
# Duke project template
# Duke bro

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.
This is Duke bro, your friendly task assistant.

## Setting up in Intellij
Run the jar file and you're good to go. Enter "help" in the dialog box and bro will tell you all the commands.

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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
Your tasks will be saved in {somewhere}/data/duke.txt.
47 changes: 47 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* This file was generated by the Gradle 'init' task.
*
* This is a general purpose Gradle build.
* Learn more about Gradle by exploring our samples at https://docs.gradle.org/7.3.3/samples
*/

plugins {
id 'java'
id 'checkstyle'
id 'application'
id "com.github.johnrengelman.shadow" version "5.1.0"
}

application {
mainClassName = "duke.Launcher"
}

checkstyle {
toolVersion = '8.29'
}

repositories {
mavenCentral()
}

test {
useJUnitPlatform()
}

dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.7.1'
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'
}
Loading