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

[An Cheng Yang] iP #372

Open
wants to merge 129 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
556af3f
Add Gradle support
May 24, 2020
dada1ae
Level 1
anchengyang Jan 11, 2023
186a3cb
Level 2
anchengyang Jan 16, 2023
b3e643a
Level 2
anchengyang Jan 16, 2023
4f2a4ad
Level-3
anchengyang Jan 16, 2023
e9bf292
Level-3
anchengyang Jan 16, 2023
79fefd8
Level-4
anchengyang Jan 17, 2023
04ba42f
TextUiTesting
anchengyang Jan 17, 2023
28f907c
Level-5
anchengyang Jan 17, 2023
f7bb28d
Level-5
anchengyang Jan 17, 2023
53fce01
Level 5
anchengyang Jan 17, 2023
d4784d9
Added more exception handlers
anchengyang Jan 18, 2023
38ae176
Level 6
anchengyang Jan 18, 2023
fe8a7e9
enums added
anchengyang Jan 18, 2023
70aa333
Merge pull request #1 from anchengyang/testbed
anchengyang Jan 20, 2023
0d87403
minimal level 8
anchengyang Jan 21, 2023
a7d9ff5
Add save to hard disk & TaskList class
anchengyang Jan 22, 2023
19d38a7
Add Date and Time to Deadline
anchengyang Jan 22, 2023
23477ac
Bug fixes for deadline date time
anchengyang Jan 22, 2023
65fb92b
More OOP
anchengyang Jan 23, 2023
6b2d09c
Merge branch 'add-gradle-support'
anchengyang Jan 23, 2023
c24f396
merge add-gradle-support branch
anchengyang Jan 23, 2023
c6ed739
Add junit tests
anchengyang Jan 23, 2023
000fdb6
build jar file
anchengyang Jan 27, 2023
4cf1991
Add Find command
anchengyang Jan 27, 2023
838475a
fix code style
anchengyang Jan 27, 2023
bf260e2
Add java docs
anchengyang Jan 27, 2023
b73f3d9
Adhere to coding standards
anchengyang Jan 27, 2023
79621fb
Add Find command
anchengyang Jan 27, 2023
bd3614b
Add find command to welcome message
anchengyang Jan 27, 2023
d088ef4
Update README.md
anchengyang Jan 31, 2023
d1b3664
Update README.md
anchengyang Jan 31, 2023
61e3264
Update README.md
anchengyang Jan 31, 2023
0e5d4aa
Update README.md
anchengyang Jan 31, 2023
1dae0cf
Update README.md
anchengyang Jan 31, 2023
5c709b7
Update README.md
anchengyang Jan 31, 2023
4976dc4
Update README.md
anchengyang Jan 31, 2023
2b4fdf4
Update README.md
anchengyang Jan 31, 2023
8c923d0
checkstyle
anchengyang Jan 31, 2023
a900d6f
Merge branch 'master' of https://github.com/anchengyang/ip
anchengyang Jan 31, 2023
e5b92fe
Fix import checkstyle
anchengyang Jan 31, 2023
80e0cc4
Base javaFX application until step 3
anchengyang Feb 1, 2023
2f5bcc4
Part 4 of tutorial (FXML load error)
anchengyang Feb 1, 2023
fcfa076
resolve previous issue
anchengyang Feb 2, 2023
9bb4d25
add style
anchengyang Feb 2, 2023
ae78d99
fix ui
anchengyang Feb 3, 2023
d6823ea
fix style error
anchengyang Feb 3, 2023
81f9e46
find date and abstract responses into ui
anchengyang Feb 3, 2023
98a5d00
Change mainClassName in gradle
anchengyang Feb 5, 2023
e4f578f
Add assertions to mark, unmark, list, delete and dates
anchengyang Feb 6, 2023
03cd92d
Fix grammar error in Event constructor comment
anchengyang Feb 6, 2023
ccbdb0f
Improve code quality
anchengyang Feb 6, 2023
ca6a1fd
Merge pull request #2 from anchengyang/branch-A-Assertions
anchengyang Feb 6, 2023
9b8143a
Merge pull request #3 from anchengyang/branch-A-CodeQuality
anchengyang Feb 6, 2023
db73877
Use streams in find and finddate
anchengyang Feb 7, 2023
a91e606
Merge pull request #4 from anchengyang/branch-A-Streams
anchengyang Feb 7, 2023
df666ed
Update test files
anchengyang Feb 7, 2023
c72507d
Create gradle.yml
anchengyang Feb 7, 2023
3c6c842
remove IO redirection test
anchengyang Feb 7, 2023
e331aa1
Update gradle.yml
anchengyang Feb 7, 2023
86ed9a8
Update gradle.yml
anchengyang Feb 7, 2023
5e6a3c2
Add update description command
anchengyang Feb 10, 2023
c04507b
Update date for deadline tasks
anchengyang Feb 10, 2023
98e6f43
style check edits
anchengyang Feb 10, 2023
a0e316d
Merge pull request #5 from anchengyang/branch-C-Update
anchengyang Feb 10, 2023
51f9133
Fix code quality
anchengyang Feb 11, 2023
0f39b21
small UI changes
anchengyang Feb 13, 2023
058c2dc
improved Gui
anchengyang Feb 13, 2023
4acc563
checkstyle fixes
anchengyang Feb 13, 2023
55467d9
Fix style
anchengyang Feb 13, 2023
7d1e60e
Update existing unit tests
anchengyang Feb 13, 2023
a28339f
Add find command unit test
anchengyang Feb 13, 2023
ac72973
Remove assertions
anchengyang Feb 13, 2023
dad5b6a
Delete command test
anchengyang Feb 13, 2023
a5b80bb
Merge branch 'branch-A-MoreErrorHandling'
anchengyang Feb 13, 2023
e9f8f39
Add more unit tests
anchengyang Feb 13, 2023
055314f
Update README.md
anchengyang Feb 13, 2023
4d1ee37
Update README.md
anchengyang Feb 13, 2023
4cb8d60
Update README.md
anchengyang Feb 13, 2023
6cbc8b3
Update README.md
anchengyang Feb 13, 2023
8f2775a
Update README.md
anchengyang Feb 13, 2023
8393243
Update README.md
anchengyang Feb 13, 2023
ed99193
Update README.md
anchengyang Feb 13, 2023
4ccbaa6
Update README.md
anchengyang Feb 13, 2023
794fb1f
Update user guide
anchengyang Feb 13, 2023
65731ed
Merge pull request #7 from anchengyang/branch-A-UserGuide
anchengyang Feb 13, 2023
198fb11
Screenshot
anchengyang Feb 13, 2023
2a2fa5c
Update readme
anchengyang Feb 13, 2023
1203eb4
Update README.md
anchengyang Feb 13, 2023
7e43559
Merge branch 'master' into branch-A-UserGuide
anchengyang Feb 13, 2023
47d5c68
Merge pull request #8 from anchengyang/branch-A-UserGuide
anchengyang Feb 13, 2023
b8015c6
Close stage
anchengyang Feb 14, 2023
1baf787
checkstyle
anchengyang Feb 14, 2023
a8d720c
update user guide
anchengyang Feb 14, 2023
a3bdd24
Update readme
anchengyang Feb 14, 2023
685eb1a
Update README.md
anchengyang Feb 14, 2023
c94962c
Fix unamed module warning on app launch
anchengyang Feb 20, 2023
5055acb
minor fixes
anchengyang Feb 22, 2023
ffd0a07
Update README.md
anchengyang Mar 5, 2023
d31ff66
Update README.md
anchengyang Mar 5, 2023
5cdd711
Update README.md
anchengyang Mar 5, 2023
861f492
Update README.md
anchengyang Mar 5, 2023
3480f03
Update README.md
anchengyang Mar 5, 2023
4dfc015
Update README.md
anchengyang Mar 5, 2023
2ae7882
Update README.md
anchengyang Mar 6, 2023
a4ba17d
Update README.md
anchengyang Mar 6, 2023
eedd8c7
Update README.md
anchengyang Mar 6, 2023
7a49077
Update README.md
anchengyang Mar 6, 2023
b9d8384
Update README.md
anchengyang Mar 6, 2023
18aaa0f
Update README.md
anchengyang Mar 6, 2023
5d804b5
Update README.md
anchengyang Mar 6, 2023
445d8b8
Update README.md
anchengyang Mar 6, 2023
0fc04a2
Update README.md
anchengyang Mar 6, 2023
bb7b945
Update README.md
anchengyang Mar 6, 2023
1710a06
Update README.md
anchengyang Mar 6, 2023
56ce2f5
Update README.md
anchengyang Mar 6, 2023
c666dd6
Update README.md
anchengyang Mar 6, 2023
e0c31e7
Fix bug
anchengyang Mar 6, 2023
86c069a
Update README.md
anchengyang Mar 6, 2023
01fa9d8
Update README.md
anchengyang Mar 6, 2023
7820f9f
Update README.md
anchengyang Mar 6, 2023
4ddb201
Update README.md
anchengyang Mar 6, 2023
9997a58
Update README.md
anchengyang Mar 6, 2023
686d42d
Update README.md
anchengyang Mar 6, 2023
7d800cb
Update README.md
anchengyang Mar 6, 2023
0c455b0
Update README.md
anchengyang Mar 6, 2023
647baf1
Update README.md
anchengyang Mar 6, 2023
1641163
Update README.md
anchengyang Mar 6, 2023
c7155ab
Update README.md
anchengyang Mar 6, 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
35 changes: 35 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
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

66 changes: 42 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,42 @@
# 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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
# :deer: Chopper helpdesk
> “Your mind is for having ideas, not holding them.” – David Allen ([source](https://dansilvestre.com/productivity-quotes/))

Chopper helpdesk frees your mind by remembering things you need to do

It is
- Chat-based
- Has a user-friendly interface
- easy to learn
- ~~Fast~~ _SUPER FAST_ to use

## :footprints: Steps to run
1. Download the JAR file from the latest release [here](https://github.com/anchengyang/ip/releases)
2. Launch the app in the terminal using the command `java -jar chopperHelpdesk.jar`
3. Start adding your tasks
4. Let it manage your tasks for you 👍

## :wrench: How to use
| No. | Feature | Command |
|-----|----------------------------------------|---------------------------------------------------------------------------------------------|
| 1. | Create todo items | `todo <description>` |
| 2. | Create deadlines | `deadline <description> /by <yyyy-MM-dd\n HHmm(optional)>` |
| 3. | Create events | `event <description> /from <yyyy-MM-dd\n HHmm(optional)> /to <yyyy-MM-dd\n HHmm(optional)>` |
| 4. | Filter by keyword | `find <keyword(s)>` |
| 5. | Filter by date | `finddate <date>` |
| 6. | Mark items as completed | `mark <task number>` |
| 7. | Unmark items | `unmark <task number>` |
| 8. | Delete items | `delete <task number>` |
| 9. | Update description of existing tasks | `update <index> /description <new changes>` |
| 10. | Update deadlines of existing deadlines | `update <index> /deadline <new changes>` |
| 11. | Quits the application | `bye` |


## :iphone: Screenshots
This is a screenshot of the application on start:

<img src="https://user-images.githubusercontent.com/65301406/218518527-19dfc310-9304-4625-a7ec-072b36cd9072.png" width="50%" height="60%">

This is a screenshot of the chat:

<img src="https://user-images.githubusercontent.com/65301406/218518232-d2dfd186-1b83-433b-ae53-83002b008f7c.png" width="50%" height="70%">

63 changes: 63 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
plugins {
id 'checkstyle'
id 'java'
id 'application'
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 = "duke.Launcher"
}

shadowJar {
archiveBaseName = "chopperHelpdesk"
archiveClassifier = null
}

run {
standardInput = System.in
enableAssertions = true
}

checkstyle {
toolVersion = '10.2'
}

Loading