Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
556af3f
Add Gradle support
May 24, 2020
dbb7d2f
Added Level-1: Greet, Echo, Exit functions
ssyap98 Aug 18, 2022
3dcd64e
Added Level-2: Add, list functions
ssyap98 Aug 18, 2022
f8486c1
Added Level-3: Mark as Done function
ssyap98 Aug 22, 2022
ff25932
Added Level-4: ToDos, Events, Deadlines
ssyap98 Aug 22, 2022
f9492c8
Added A-TextUiTesting: Automated Text UI Testing
ssyap98 Aug 23, 2022
5551f11
Added Level-5: Handle Errors
ssyap98 Aug 24, 2022
690ced2
Added Level-6: Delete tasks from list
ssyap98 Aug 24, 2022
65661df
Add Level-7: Save
ssyap98 Aug 29, 2022
daf1faa
Add Level-8: Dates and Times
ssyap98 Aug 29, 2022
68c04ca
Merge branch 'branch-Level-8'
ssyap98 Aug 29, 2022
efd5205
Add A-MoreOOP
ssyap98 Sep 11, 2022
e0cdb1b
Organise all classes into one package
ssyap98 Sep 11, 2022
2a7633a
Organise all classes into 1 package
ssyap98 Sep 11, 2022
e81658d
Move all classes into the duke folder
ssyap98 Sep 11, 2022
99aabf4
Merge commit '556af3f47a96b32898ab4cdbd65b16486a4871e8'
ssyap98 Sep 12, 2022
7717770
Save Event, Deadline and ToDo tasks to file when created
ssyap98 Sep 13, 2022
793b714
Add JUnit Tests for Event and ToDo class
ssyap98 Sep 13, 2022
6203c9c
Change mainClassName and archiveBaseName in build.gradle
ssyap98 Sep 13, 2022
7a38405
Add JavaDoc comments for Duke.java
ssyap98 Sep 13, 2022
e0cf62a
Use plural form to represent a list of tasks
ssyap98 Sep 13, 2022
32d820c
Add ability to find a task by searching for a keyword
ssyap98 Sep 13, 2022
1ec5154
Merge branch 'branch-A-JavaDoc'
ssyap98 Sep 13, 2022
dc7219e
Merge branch 'branch-A-CodingStandard'
ssyap98 Sep 13, 2022
fcdd02a
Change list to tasks to follow coding standard
ssyap98 Sep 13, 2022
102f161
Create GUI for Duke
ssyap98 Sep 16, 2022
020a8e3
Merge branch 'branch-Level-10'
ssyap98 Sep 16, 2022
d5f52df
Adds date and time to Event class
ssyap98 Sep 19, 2022
79972fa
Adds flip() method in DialogBox
ssyap98 Sep 19, 2022
2a96419
Adds assertion to document important assumptions
ssyap98 Sep 19, 2022
b50dfe3
Fix code quality in Storage class
ssyap98 Sep 19, 2022
a8d3ebc
Merge pull request #2 from ssyap98/branch-A-Assertions
ssyap98 Sep 19, 2022
b3caa65
Merge branch 'master' into branch-A-CodeQuality
ssyap98 Sep 19, 2022
41554b3
Merge pull request #3 from ssyap98/branch-A-CodeQuality
ssyap98 Sep 19, 2022
c6c399c
Fix minor bug
ssyap98 Sep 19, 2022
57ec27f
Add case "bye" to parser which was accidentally removed earlier
ssyap98 Sep 19, 2022
331eb34
Adds Category C extension: C-Help
ssyap98 Sep 19, 2022
e916bf3
Merge branch 'branch-C-Help'
ssyap98 Sep 19, 2022
d9e999c
Change some phrases used by Duke when responding to commands
ssyap98 Sep 19, 2022
a05cbe5
Adds User Guide and Ui screenshot
ssyap98 Sep 19, 2022
04ce912
Update README.md
ssyap98 Sep 19, 2022
eca8928
Create MainWindow.fxml and DialogBox.fxml in src/main/resources/view
ssyap98 Oct 11, 2022
26c05ac
Use FXML for Duke
ssyap98 Oct 11, 2022
1080320
Replace image name
ssyap98 Oct 11, 2022
f1bb5d6
Add welcome/greeting message upon running Duke
ssyap98 Oct 11, 2022
753caa7
Fix "bye" command
ssyap98 Oct 11, 2022
5641335
Fix error message when unknown command is entered by user
ssyap98 Oct 11, 2022
132a977
Add method to show error message when invalid todo, deadline, event, …
ssyap98 Oct 11, 2022
2090ffe
Set purple color background for dialog box
ssyap98 Oct 11, 2022
27aa548
Change dialogbox font size and color
ssyap98 Oct 11, 2022
7388ab3
Change mainwindow background color to black
ssyap98 Oct 11, 2022
d38b68b
Set dialogbox's minimum height
ssyap98 Oct 11, 2022
62b7e1d
Add header comments in Deadline.java
ssyap98 Oct 12, 2022
3ee3d3d
Remove empty space
ssyap98 Oct 12, 2022
9f170d3
Add header comments in DialogBox.java
ssyap98 Oct 12, 2022
79dde49
Update header comment in Deadline.java
ssyap98 Oct 12, 2022
b04f6d8
Add header comments in Duke.java
ssyap98 Oct 12, 2022
c6ef386
Add header comments in DukeException.java
ssyap98 Oct 12, 2022
8cab955
Add header comments in Event.java
ssyap98 Oct 12, 2022
02c42d4
Add header comments in Parser.java
ssyap98 Oct 12, 2022
a937afe
Add header comments in Storage.java
ssyap98 Oct 12, 2022
f966e87
Add header comments in Task.java
ssyap98 Oct 12, 2022
24eabe0
Add header comments in TaskList.java
ssyap98 Oct 12, 2022
ac4a600
Add header comments in ToDo.java
ssyap98 Oct 12, 2022
8813ac4
Add header comments in Ui.java
ssyap98 Oct 12, 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
56 changes: 56 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
plugins {
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 = "Duke"
archiveClassifier = null
}

run{
standardInput = System.in
}
142 changes: 133 additions & 9 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,152 @@

## Features

### Feature-ABC
### Keep track of all your important tasks!

Description of the feature.
Use Duke to manage all your todos, deadlines and event. View their dates, times as well as completion status at a glance.

### Feature-XYZ
### Find tasks

Description of the feature.
Duke can help you search specific task(s) that was previously stored based on keyword.

## Usage

### `Keyword` - Describe action
### `todo <description>` - Creates a todo

Describe the action and its outcome.
Adds a new todo task into the list.

Example of usage:

`keyword (optional arguments)`
`todo read book`

Expected outcome:

Description of the outcome.
```
Got it. I've added this task:
[T][] read book
Now you have 1 task(s) in your list.
```

### `deadline <description> /by <date>` - Creates a deadline

Adds a new deadline task into the list.

Example of usage:

`deadline return book /by 2022-09-19T14:30:00`

Expected outcome:

```
Got it. I've added this task:
[D][] return book (by: Sep 19 2022 02:30:00)
Now you have 2 task(s) in your list.
```

### `event <description> /at <date>` - Creates an event

Adds a new event task into the list.

Example of usage:

`event zoom meeting /by 2022-09-19T19:30:00`

Expected outcome:

```
Got it. I've added this task:
[E][] zoom meeting (by: Sep 19 2022 07:30:00)
Now you have 3 task(s) in your list.
```

### `list` - Display all current tasks

Shows all current task(s) in the list.

Example of usage:

`list`

Expected outcome:

```
Here are the task(s) in your list:
1. [T][] read book
2. [D][] return book (by: Sep 19 2022 02:30:00)
3. [E][] zoom meeting (at: Sep 19 2022 07:30:00)
```

### `mark <index>` - Marks a task as done

Marks a task in the list as done.

Example of usage:

`mark 1`

Expected outcome:

```
expected output
Nice! You've completed this task:
[T][X] read book
```

### `unmark <index>` - Marks a task as not done

Marks a task in the list as not done.

Example of usage:

`unmark 1`

Expected outcome:

```
Oh no! Try to complete this task ASAP:
[T][] read book
```

### `delete <index>` - Deletes a task

Remove a task from your list.

Example of usage:

`delete 1`

Expected outcome:

```
Task eliminated:
[T][] read book
Now you have 2 tasks in your list.
```

### `find <keyword>` - Search for specific task(s)

Searches for matching task(s) using a keyword.

Example of usage:

`find zoom`

Expected outcome:

```
Here are the task(s) you are looking for:
1. [E][] zoom meeting (at: Sep 19 2022 07:30:00)
```

### `bye` - Exits the app

Exits the application.

Example of usage:

`bye`

Expected outcome:

```
Keep moving forward until you finish all your tasks. Goodbye.
```
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.
5 changes: 5 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading