Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
68c58c1
Add Gradle support
May 24, 2020
03523ec
Bump gradle and lib version
Eclipse-Dominator Aug 5, 2023
81a9c53
build.gradle: Prevent generating a second JAR file
aureliony Jul 16, 2024
b4d4d70
Change name and greeting
geeliette Jan 29, 2025
9a1905b
Update Fleur.java
geeliette Jan 29, 2025
86c668b
Echo user
geeliette Jan 29, 2025
fcb63ef
Add task storing
geeliette Jan 29, 2025
81cda75
Add Task class
geeliette Jan 30, 2025
847d330
Add task types
geeliette Jan 30, 2025
ea5cf33
Test using I/O
geeliette Jan 30, 2025
c263c51
Add Exceptions
geeliette Feb 3, 2025
d259d82
Add delete function
geeliette Feb 3, 2025
55a0507
Add save to hard disk function
geeliette Feb 5, 2025
a1ab209
Merge branch 'branch-Level-7'
geeliette Feb 5, 2025
cbca761
Change dates to LocalDate
geeliette Feb 5, 2025
45d49b3
Merge branch 'branch-Level-8'
geeliette Feb 5, 2025
926138a
Add new Ui, Storage, Parser and TaskList classes
geeliette Feb 6, 2025
f05a51f
Use more OOP
geeliette Feb 6, 2025
4fac2b7
Merge branch 'branch-A-MoreOOP'
geeliette Feb 6, 2025
16c363c
Fix bugs
geeliette Feb 6, 2025
35b42d7
Fix bugs in testing
geeliette Feb 7, 2025
b93a02f
Merge branch 'add-gradle-support'
geeliette Feb 7, 2025
8fe40ca
Add gradle
geeliette Feb 10, 2025
5ae2a3e
Add JUnit tests
geeliette Feb 10, 2025
f769bd3
Add JAR file
geeliette Feb 11, 2025
35d03a5
Edit Fleur class
geeliette Feb 11, 2025
50966f9
Add JavaDoc comments
geeliette Feb 12, 2025
91a8154
Match Java coding standard
geeliette Feb 12, 2025
6b207e2
Add find function
geeliette Feb 12, 2025
8f52b7c
Merge branch 'A-JavaDoc'
geeliette Feb 12, 2025
cfc682b
Fix merge conflicts
geeliette Feb 12, 2025
8678aa6
Merge branch 'branch-Level-9'
geeliette Feb 12, 2025
2883744
Fix naming error
geeliette Feb 12, 2025
fcdebfe
Add packages
geeliette Feb 22, 2025
bea0808
Fix bugs
geeliette Feb 22, 2025
2885e73
Add Commands class
geeliette Feb 22, 2025
d9fec0c
Fix exception handling
geeliette Feb 22, 2025
bd3ea43
Merge branch 'branch-A-Commands'
geeliette Feb 22, 2025
19aa7a6
Add GUI
geeliette Feb 22, 2025
97a990e
Merge branch 'branch-Level-10'
geeliette Feb 22, 2025
4f5bbdb
Add assert statements to enforce key assumptions in input validation
geeliette Feb 23, 2025
ecf92bc
Refactor Storage and Command classes to improve task loading and saving
geeliette Feb 23, 2025
883b3ab
Merge pull request #2 from geeliette/branch-A-Assertions
geeliette Feb 23, 2025
18fc432
Merge pull request #3 from geeliette/branch-A-CodeQuality
geeliette Feb 23, 2025
d6461c1
Add edit command class
geeliette Feb 24, 2025
995848f
Shorten edit execute method
geeliette Feb 24, 2025
bb09805
Merge branch 'branch-C-Update'
geeliette Feb 24, 2025
3af8ad0
Update GUI
geeliette Feb 24, 2025
6317550
Merge branch 'branch-A-BetterGui'
geeliette Feb 24, 2025
a1757e0
Display welcome message
geeliette Feb 24, 2025
c00aec0
Add representative screenshot
geeliette Feb 24, 2025
6272f07
Update README.md
geeliette Feb 24, 2025
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
Empty file added Icon
Empty file.
58 changes: 58 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
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("fleur.Launcher")
}

shadowJar {
archiveFileName = 'fleur.jar'
archiveBaseName = "fleur"
archiveClassifier = null
}

run{
standardInput = System.in
enableAssertions = true
}
137 changes: 123 additions & 14 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,139 @@
# Duke User Guide
# Fleur User Guide 🌸

// Update the title above to match the actual product name
![Screenshot of product](Ui.png)

// Product screenshot goes here
Fleur is a friendly **task manager chatbot** that helps you organize
your **ToDos, Deadlines, and Events**. It allows you to manage your tasks
efficiently via a simple **command-line interface** or a **graphical user interface (GUI)**.

// Product intro goes here
## Commands

## Adding deadlines
| **Action** | **Command** | **Description** |
|-------------------|----------|----------------|
| **Add ToDo** | `todo` | Adds a new ToDo task to your list. |
| **Add Deadline** | `deadline` | Adds a new Deadline task with a due date. |
| **Add Event** | `event` | Adds a new Event task with a start and end date. |
| **Mark as Done** | `mark` | Marks a task as completed. |
| **Unmark Task** | `unmark` | Marks a completed task as not done. |
| **Delete Task** | `delete` | Removes a task from your list. |
| **List Tasks** | `list` | Displays all tasks currently in your list. |
| **Find Task** | `find` | Searches for tasks containing a specific keyword. |
| **Edit Task** | `edit` | Modifies an existing task’s description. |
| **Save and Exit** | `bye` | Saves all tasks and exits the program. |

// Describe the action and its outcome.
## Command Details

// Give examples of usage
Below are the detailed descriptions, examples, and expected outputs for each command:

Example: `keyword (optional arguments)`
---

// A description of the expected outcome goes here
### Adding a ToDo Task
**Usage:** `todo <description>`

**Example:** `todo buy groceries`

**Expected Output:**

```
Bah, oui! I 'ave added zis todo task to your list:
[T][ ] buy groceries
Now you 'ave 1 task(s) in your list.
```
### Adding a Deadline Task
**Usage:** `deadline <description> /by <date>`

**Example:** `deadline submit report /by 22/05/2025`

**Expected Output:**

```
Bah, oui! I 'ave added zis deadline task to your list:
[D][ ] submit report (by: Mar 22 2025)
Now you 'ave 2 task(s) in your list.
```
### Adding an Event Task
**Usage:** `event <description> /from <start_date> /to <end_date>`

**Example:** `event midterms /from 05/03/2025 /to 06/03/2025`

**Expected Output:**

```
Bah, oui! I 'ave added zis event task to your list:
[E][ ] midterms (from: Mar 5 2025 to: Mar 6 2025)
Now you 'ave 3 task(s) in your list.
```
### Marking, Unmarking or Deleting a Task
**Usage:**

`mark <task_number>`

`unmark <task_number>`

`delete <task_number>`

**Example:** `mark 1`

**Expected Output:**

```
expected output
Enchanté! I 'ave marked zis task as done:
[T][X] buy groceries
```
**Example:** `unmark 1`

## Feature ABC
**Expected Output:**

// Feature details
```
Zut! I 'ave marked zis task as not done:
[T][ ] buy groceries
```
**Example:** `delete 2`

**Expected Output:**

```
D'accord, I 'ave removed zis task from your list:
[D][ ] submit report (by: Mar 22 2025)
Now you 'ave 2 task(s) in your list.
```
### Listing Tasks
**Usage:** `list`

**Expected Output:**

```
'Ere are ze task(s) in your list:
[T][X] buy groceries
[E][ ] midterms (from: Mar 5 2025 to: Mar 6 2025)
```
### Finding Tasks
**Usage:** `find <keyword>`

**Example:** `find midterms`

## Feature XYZ
**Expected Output:**

// Feature details
```
'Ere are ze task(s) in your list:
[E][ ] midterms (from: Mar 5 2025 to: Mar 6 2025)
```
### Editing a Task
**Usage:** `edit <task_number> <new_description>`

**Example:** `edit 1 buy vegetables`

**Expected Output:**

```
D'accord, your task has been edited:
[T][ ] buy vegetables
```
### Exiting Program
**Usage:** `bye`

**Expected Output:**

```
Au revoir, 'ope 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 docs/img.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