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

[beefsausagee] iP #457

Open
wants to merge 63 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
55f9f9f
docs/README.md: Tweak document template
Jan 7, 2024
f837ddb
Add Gradle support
May 24, 2020
a6f7324
Bump gradle and lib version
Eclipse-Dominator Aug 5, 2023
b19d562
Implement changes for Level-0
alvislowyh Feb 1, 2024
85dcedc
Level 1
alvislowyh Feb 2, 2024
8380b0e
Level-2
alvislowyh Feb 2, 2024
98302d6
Level 3. Mark As Done
alvislowyh Feb 6, 2024
e597f5e
Level 3. Mark As Done
alvislowyh Feb 6, 2024
22274ba
Level 4. ToDos, Events, Deadlines
alvislowyh Feb 7, 2024
e7c4c66
Level 5. Handle Errors
alvislowyh Feb 7, 2024
f5ba09f
Level 5. Handle Errors
alvislowyh Feb 7, 2024
8031d99
Level 6. Delete
alvislowyh Feb 7, 2024
676000f
Level 6. Delete
alvislowyh Feb 7, 2024
6cd69dc
Text UI Testing
alvislowyh Feb 9, 2024
2795a19
Level-7
alvislowyh Feb 13, 2024
d1ae4d1
Level 8
alvislowyh Feb 14, 2024
e09a661
Level 8
alvislowyh Feb 15, 2024
9879c00
Implemented changes for MoreOOP
alvislowyh Feb 16, 2024
7630968
Implemented changes for packages
alvislowyh Feb 16, 2024
48daa44
Merge branch 'add-gradle-support'
alvislowyh Feb 16, 2024
c9b9ea9
Added JUnit Test for Deadline class and Event class
alvislowyh Feb 16, 2024
da7892d
Package the App as a JAR file
alvislowyh Feb 16, 2024
51672c1
Add JavaDoc comments
alvislowyh Feb 16, 2024
eb187d4
Tweak the code to comply with a coding standard
alvislowyh Feb 16, 2024
d92ee08
Implement changes for Level-9
alvislowyh Feb 16, 2024
847b1f8
Merge changes from branch-Level-9
alvislowyh Feb 16, 2024
6b47835
Merge branch 'branch-Level-9'
alvislowyh Feb 16, 2024
e1dfcd8
Merge changes from branch-A-JavaDoc
alvislowyh Feb 16, 2024
1a7fa85
Implement changes to Duke and Task
alvislowyh Feb 16, 2024
08e649b
Implement changes to Duke
alvislowyh Feb 16, 2024
882183b
Add comments to Ui and Duke
alvislowyh Feb 16, 2024
49a2820
Merge branch 'branch-A-CodingStandard'
alvislowyh Feb 16, 2024
a514e94
Implement changes for Level 10
alvislowyh Feb 21, 2024
def0e91
Implement changes for Level-10
alvislowyh Feb 22, 2024
8521af1
Add XiaoBai and User image
alvislowyh Feb 22, 2024
0c57575
Change Duke to XiaoBai
alvislowyh Feb 22, 2024
af87374
Implement changes: Duke to XiaoBai
alvislowyh Feb 22, 2024
986b26b
Implement changes for code quality
alvislowyh Feb 22, 2024
456decf
Add assertions to improve input validation and error handling
alvislowyh Feb 22, 2024
ecbb3a0
Merge pull request #2 from beefsausagee/branch-A-Assertions
alvislowyh Feb 22, 2024
e3345b9
Add Javadoc comments to all classes in the project
alvislowyh Feb 22, 2024
4f38f31
Merge pull request #3 from beefsausagee/branch-A-CodeQuality
alvislowyh Feb 22, 2024
2972aaa
Removed txt file
alvislowyh Feb 22, 2024
d6e6b0f
Implement changes to tasks
alvislowyh Feb 22, 2024
e2495aa
Added extension C-Sort
alvislowyh Feb 23, 2024
57dc2af
Merge pull request #4 from beefsausagee/branch-C-Sort
alvislowyh Feb 23, 2024
b0c3bae
Implemented separate methods for processing todo, deadline, event, ma…
alvislowyh Feb 23, 2024
65484bd
Merge branch 'master' of https://github.com/beefsausagee/ip
alvislowyh Feb 23, 2024
6e6c6e3
Implement changes to Storage, UI, XiaoBai
alvislowyh Feb 23, 2024
ee38c98
Implement changes to text outcome to include personality for XiaoBai
alvislowyh Feb 25, 2024
782753b
Implemented changes to MainWindow.fxml to change design of GUI window
alvislowyh Feb 25, 2024
4f0bc96
Implemented changes to README.md
alvislowyh Feb 25, 2024
ad10551
Implemented changes for assertions
alvislowyh Feb 25, 2024
66f4897
Implemented changes to README.md
alvislowyh Feb 25, 2024
e256bc0
Implemented changes to README.md
alvislowyh Feb 25, 2024
edd5820
Implemented changes to runtest
alvislowyh Feb 25, 2024
69c11da
Implemented changes to Storage
alvislowyh Feb 25, 2024
e69e059
Implemented changes to UG
alvislowyh Feb 25, 2024
4169926
Add additional date and time formats
alvislowyh Feb 26, 2024
dd10ff6
Implement changes to parser
alvislowyh Feb 26, 2024
b79ce5f
Implement changes to Storage description
alvislowyh Feb 26, 2024
96c70a1
Implement changes to Ui for personality
alvislowyh Feb 26, 2024
8b620c5
Implement changes to XiaoBaiException to only display error message
alvislowyh Feb 26, 2024
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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
/.idea/
/out/
/*.iml
/*.class
/*.txt

# Gradle build files
/.gradle/
Expand Down
54 changes: 54 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
plugins {
id 'java'
id 'application'
id 'com.github.johnrengelman.shadow' version '7.1.2'
}

repositories {
mavenCentral()
}

dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.10.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.10.0'
String javaFxVersion = '17.0.7'

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 {
mainClass.set("xiaobai.Launcher")
}
shadowJar {
archiveFileName = 'xiaobai.jar'
}


run{
standardInput = System.in
}
2 changes: 2 additions & 0 deletions data/xiaobai.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[T][ ] banana
[D][ ] banan (by: Feb 23 2023 1009)
146 changes: 132 additions & 14 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,147 @@
# User Guide
# XiaoBai User Guide

## Features
![](Ui.png)

### Feature-ABC
XiaoBai is a loyal dog that simplifies your day by organizing your tasks into a streamlined task list. Whether it's deadlines, events, or simple to-dos, XiaoBai efficiently captures and categorizes your tasks. With its intuitive interface, adding, managing, and tracking tasks is a breeze. Stay on top of your commitments and boost productivity with XiaoBai by your side.

Description of the feature.
## Adding Deadlines

### Feature-XYZ
Adds a deadline to the task list.

Description of the feature.
Format: `deadline NAME /BYDATETIME`

## Usage
Example: `deadline submit report /by 2022-02-28 09:00`

### `Keyword` - Describe action
```
WOOOoof. I've added this task:
[D][ ] submit report (by:Feb 28 2022 0900)
Now you have 1 tasks in the list.
```

## Adding Events

Adds an event to the task list.

Format: `event NAME /FROMDATETIME /TODATETIME`

Example: `event project meeting /from 18/10/2019 1900 /to 18/10/2019 2100`

```
WOOOoof. I've added this task:
[E][ ] project meeting (from: Oct 18 2019 1900 to: Oct 18 2019 2100)
Now you have 1 tasks in the list.
```

## Adding Todos

Adds a todo to the task list.

Format: `todo NAME`

Example: `todo borrow book`

```
WOOOoof. I've added this task:
[T][ ] borrow book
Now you have 1 tasks in the list.
```

## Deleting Tasks

Deletes a task from the task list.

Format: `delete INDEX`

Example: `delete 1`

```
Woooof. I've removed this task:
[T][ ] borrow book
Now you have 0 tasks in the list.
```

## Marking Tasks

Marks a task as done from the task list.

Format: `mark INDEX`

Example: `mark 1`

If task is already done:
```
This task has already been marked as done:
[T][X] borrow book
```

If task is not done:
```
WOOF! I've marked this task as done:
[T][X] borrow book
```

Describe the action and its outcome.
## Unmarking Tasks

Example of usage:
Marks a task as not done from the task list.

`keyword (optional arguments)`
Format: `unmark INDEX`

Expected outcome:
Example: `unmark 1`

Description of the outcome.
If task is already marked as not done:
```
"This task has already been marked as not done:
[T][ ] borrow book
```

If task is done:
```
expected output
WOOF, I've marked this task as not done yet:
[T][ ] borrow book
```

## Printing List

Prints the task list.

Format: `list`

Example: `list`

```
Here are the 2 tasks in your list
1.[T][ ] borrow book
2.[E][ ] project meeting (from: Oct 18 2019 1900 to: Oct 18 2019 2100)
```

## Finding Tasks

Prints the task with given keyword.

Format: `find KEYWORD`

Example: `find book`

```
WOOF! I've found these matching tasks in your list:
1.[T][ ] borrow book
```

## Sorting Tasks

Sorts the task list by alphabetical order.

Format: `sort`

Example: `sort`

```
Here is the sorted list of 2 tasks:
1.[T][ ] borrow book
2.[E][ ] project meeting (from: Oct 18 2019 1900 to: Oct 18 2019 2100)
```

## Exiting XiaoBai

To exit XiaoBai, simply type `bye` and press Enter.
This will close the application and save any changes made to your task list.
Binary file added docs/Ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading