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

[quelinxiao] ip #477

Open
wants to merge 32 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 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
90cd5ec
Tweak greet and exit message
quelinxiao Feb 4, 2024
eb13465
Add echo function
quelinxiao Feb 4, 2024
6ccc620
Add list function to chatbot
quelinxiao Feb 5, 2024
96a82ab
Add mark and unmark
quelinxiao Feb 5, 2024
d039333
Add different types of tasks
quelinxiao Feb 5, 2024
e4e8997
Modify test scripts
quelinxiao Feb 5, 2024
d9c80e5
Add error handling
quelinxiao Feb 5, 2024
658e075
Add remove function
quelinxiao Feb 5, 2024
422dba9
Add save and clear function
quelinxiao Feb 12, 2024
7f09362
Add date time formatting to deadline task
quelinxiao Feb 12, 2024
f750723
Split Bob,java into OOP parts
quelinxiao Feb 15, 2024
6365b6f
Group java files to bob package
quelinxiao Feb 17, 2024
dcea349
Merge branch 'add-gradle-support'
quelinxiao Feb 17, 2024
480d0d2
Add tests for Parser and Task.java
quelinxiao Feb 18, 2024
273135c
Add JavaDoc comments
quelinxiao Feb 18, 2024
00dcfac
Tweak code to comply with coding standard
quelinxiao Feb 18, 2024
934296a
Add find feature
quelinxiao Feb 18, 2024
4002cf7
Merge branch 'branch-A-CodingStandard'
quelinxiao Feb 18, 2024
7b13e06
Merge branch 'branch-Level-9'
quelinxiao Feb 18, 2024
3e0c512
Resolve merge conflicts
quelinxiao Feb 18, 2024
1090bf4
Tweak filePath in bob to be specified in main method
quelinxiao Feb 18, 2024
739b3b3
Implement GUI
quelinxiao Feb 25, 2024
a7ecb65
Change gradle build to use Launcher as main class
quelinxiao Feb 25, 2024
d1989bf
Include assertions in code
quelinxiao Feb 25, 2024
f070266
Improve code quality
quelinxiao Feb 25, 2024
ffe7aa5
Merge pull request #2 from quelinxiao/branch-A-Assertions
quelinxiao Feb 25, 2024
47935ed
Merge pull request #3 from quelinxiao/branch-A-CodeQuality
quelinxiao Feb 25, 2024
ae183e1
Add product screenshot
quelinxiao Feb 25, 2024
a9de45a
Update user guide
quelinxiao Feb 25, 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
57 changes: 57 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
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("bob.Launcher")
}

shadowJar {
archiveBaseName = "bob"
archiveClassifier = null
dependsOn("distZip", "distTar")
}

run{
standardInput = System.in
}
Empty file added data/tasks.txt
Empty file.
130 changes: 116 additions & 14 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,131 @@
# User Guide
# Bob User Guide

## Features
![image of product](./Ui.png)

### Feature-ABC
A simple task manager to keep track of your tasks!

Description of the feature.
## Adding deadlines

### Feature-XYZ
Add a task with a deadline.
Use the keyword `deadline` + `(your task)` with `/by` and a datetime with the format **YYYY-MM-DD HHMM**.

Description of the feature.
Example: `deadline make breakfast /by 2022-01-01 1000`

## Usage

### `Keyword` - Describe action
```
Got it. I've added this task:
[D][] make breakfast (by: Jan 01 2022 10:00)
Now you have 1 tasks in the list.
```

## Adding todos

Add a todo task.
Use the keyword `todo` with `(your task)`.

Describe the action and its outcome.
Example: `todo make breakfast`

Example of usage:

`keyword (optional arguments)`
```
Got it. I've added this task:
[T][] make breakfast
Now you have 2 tasks in the list.
```

## Adding events

Expected outcome:
Add an event task.
Use the keyword `event` with `(your task)` followed by a `/from` + `(date)` and `/to` + `(date)`.

Description of the outcome.
Example: `event make dinner /from Sunday 6pm /to 7pm`


```
Got it. I've added this task:
[E][] make dinner (from: Sunday 6pm to: 7pm)
Now you have 3 tasks in the list.
```
expected output

## Deleting tasks

Delete a task.
Use the keyword `delete` with `(task number)`.

Example: `delete 1`

```
Noted. I've removed this task:
[D][] make breakfast (by: Jan 01 2022 10:00)
Now you have 2 tasks in the list.
```

## Mark tasks

Mark a task as done.
Use the keyword `mark` with `(task number)`.

Example: `mark 1`

```
Nice! I've marked this task as done:
[T][X] make breakfast
```

## Unmark tasks

Unmark a task as done.
Use the keyword `unmark` with `(task number)`.

Example: `unmark 1`

```
OK, I've marked this task as not done yet:
[T][] make breakfast
```

## List tasks

List all tasks in the task list.
Use the keyword `list`.

Example: `list`

```
Here are the tasks in your list:
1.[T][] make breakfast
2.[E][] make dinner (from: Sunday 6pm to: 7pm)
```

## Find tasks

Find the task with the specified keyword.
Use the keyword `find` followed by `(keyword)`.

Example: `find dinner`

```
Here are the matching tasks in your list:
1.[E][] make dinner (from: Sunday 6pm to: 7pm)
```

## Clear tasks

Clear the task list.
Use the keyword `clear`.

Example: `clear`

```
Your tasks have been cleared.
```

## Save and exit

Save the task list.
Use the keyword `bye`.

Example: `bye`

```
Bye. Hope to see you again soon!
```
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