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

[wamps-jp] iP #761

Open
wants to merge 40 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
28ad2b8
Add Gradle support
May 24, 2020
ed6d4d2
Bump gradle and lib version
Eclipse-Dominator Aug 5, 2023
9af2bc9
Level-0 commit
Aug 24, 2023
20d0fa2
Level-1
Aug 24, 2023
09bdc45
Level-2
Aug 24, 2023
2f05e5e
Level-3
Aug 24, 2023
acc3b30
Level-4
Aug 24, 2023
83f76c0
A-TextUiTesting
Aug 24, 2023
5b3029c
Level-5
Aug 24, 2023
34c42d9
Level-6
Aug 24, 2023
18f1615
Add reading and writing capabilities
Sep 25, 2023
bd6d091
Merge branch 'branch-Level-7'
Sep 25, 2023
1896e5d
Add a limited date system
Sep 25, 2023
d7a9897
Merge branch 'branch-Level-8'
Sep 25, 2023
807453e
Add more OOP principles and fix minor date errors
Sep 25, 2023
4764dc9
Merge branch 'branch-A-MoreOOP'
Sep 25, 2023
8499298
Package classes
Sep 25, 2023
b38ac82
Merge branch 'branch-A-Packages'
Sep 25, 2023
1c59418
Merge branch 'add-gradle-support'
Sep 25, 2023
b153ec0
Add gradle
Sep 25, 2023
b901ce7
Add JUnit tests
Sep 25, 2023
276ada7
Add javadoc headers
Sep 25, 2023
4ccb0f5
Follow coding standard
Sep 25, 2023
c0c8c06
Complete Level-9
Sep 25, 2023
60126d8
Merge branch 'branch-A-CodingStandard'
Sep 25, 2023
144c982
Handle merge conflict between A-CodingStandard and A-Javadoc
Sep 25, 2023
40ac6d4
Handle merge conflict between master and branch-Level-9
Sep 25, 2023
973987e
Create a GUI
Sep 25, 2023
d982706
Merge branch 'branch-Level-10'
Sep 25, 2023
1283f77
Add assertions
Sep 25, 2023
0ce7177
Improve code quality with guard clauses
Sep 25, 2023
46f02bf
Merge pull request #2 from wamps-jp/branch-A-Assertions
wamps-jp Sep 25, 2023
911505f
Merge branch 'master' into branch-A-CodeQuality
Sep 25, 2023
cc318c7
Merge pull request #3 from wamps-jp/branch-A-CodeQuality
wamps-jp Sep 25, 2023
b84c13c
Add duration task functionality
Sep 25, 2023
a4cffc9
Merge branch 'branch-B-FixedDurationTasks'
Sep 25, 2023
e0f6dd3
Add Ui.png
Sep 25, 2023
c953adb
Update README.md
wamps-jp Sep 25, 2023
8404a15
Update README.md
wamps-jp Sep 25, 2023
31d5db7
Update README.md
wamps-jp Sep 25, 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
60 changes: 60 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
plugins {
id 'java'
id 'application'
id 'com.github.johnrengelman.shadow' version '7.1.2'
}

sourceCompatibility = '11'
targetCompatibility = '11'

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("duke.Launcher")
}

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

run{
standardInput = System.in
}
3 changes: 3 additions & 0 deletions data/duke.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
E | 0 | a | b | c
D | 1 | x | c
F | 0 | a | two hours
84 changes: 69 additions & 15 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,83 @@
# User Guide
# ReaperRemi: User Guide

ReaperRemi is a reminder bot, built to remind you of all the urgent tasks hanging over your head.

...just kidding. It's meant to help!

![ReaperRemi UI](http://wamps-jp.github.io/ip/Ui.png)[^1]

## Features

### Feature-ABC
### todo _task_

Adds a general `ToDo` task to the list. A ToDo has a description, but no time constraints.

Examples: `todo taskX` or `todo homework`

### deadline _task_ /by _date_

Adds a `Deadline` task to the list. A Deadline has a description and a deadline.

The deadline can be a regular string or in date form (MM/dd/yyyy or dd/MM/yyyy only).

> [!IMPORTANT]
> Do note the /by command. Deadline tasks won't register without it.

Examples: `deadline taskY /by tomorrow` or `deadline workbook /by 02/21/2024`

### event _task_ /from _date1_ /to _date2_

Adds an `Event` task to the list. An Event has a description, a start date, and an end date.

The start and end dates can be regular strings or in date form (MM/dd/yyyy or dd/MM/yyyy only).

> [!IMPORTANT]
> Do note the /from and /to commands. Event tasks won't register without them.

Examples: `event taskZ /from tomorrow /to Saturday` or `event recess week /from 23/09/2023 /to 30/09/2023`

### duration _task_ /for _time_

Adds a `FixedDurationTask` task to the list. A FixedDurationTask has a description and a time (how long it will take).

> [!IMPORTANT]
> Do note the /for command.

Examples: `duration taskW /for two hours` or `duration sleep /for 10 hours`

### mark _index_

Marks the task at the given index as done. Congratulations!

Example: `mark 1`

### unmark _index_

Marks the task at the given index as incomplete. Not so great.

Example: `unmark 2`

### delete _index_

Description of the feature.
Deletes the task at the given index.

### Feature-XYZ
> [!WARNING]
> Deleted tasks can't be recovered.

Description of the feature.
Example: `delete 3`

## Usage
### list

### `Keyword` - Describe action
Lists all tasks currently active.

Describe the action and its outcome.
### find _keyword_

Example of usage:
Shows all tasks that have the keyword.

`keyword (optional arguments)`
Examples: `find study` or `find tomorrow`

Expected outcome:
### save

Description of the outcome.
ReaperRemi automatically saves changes to the list, so no need for this command!

```
expected output
```
[^1]: Images from creative commons.
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