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

[Lim Yong En Dominic] iP #462

Open
wants to merge 54 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 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
1dcc2cd
Changed name from duke to zoe and changed function from displaying du…
Arixeyeion Jan 24, 2024
26e1387
Added the echo capability, bot will only terminate when the command "…
Arixeyeion Jan 24, 2024
9211cdf
Add and List directly implemented into main.
Arixeyeion Jan 24, 2024
88d12d6
added mark/unmark capability
Arixeyeion Jan 24, 2024
ca10286
reverted "Zoe" to main, created Zoe outside of main and all dependenc…
Arixeyeion Jan 25, 2024
1dc9929
added some error handling for zoe. Still missing specific error handl…
Arixeyeion Jan 25, 2024
8b9fc91
added the delete capability
Arixeyeion Jan 25, 2024
36193f2
Add automated testing from week2
Arixeyeion Feb 1, 2024
36eda6d
Add saving capability through loader and saver classes. Upon launch, …
Arixeyeion Feb 1, 2024
fa215d6
Fix loading issue
Arixeyeion Feb 1, 2024
6742598
Add simple date capability
Arixeyeion Feb 1, 2024
f4fbb46
Add more oop. Change main to zoe.
Arixeyeion Feb 1, 2024
97f75c5
Remove main
Arixeyeion Feb 1, 2024
d076702
Merge branch 'branch-Level-8'
Arixeyeion Feb 1, 2024
50df0be
Fix Ui printing out wrong information regarding index size
Arixeyeion Feb 1, 2024
927304d
Shift interacting classes to package except Zoe as in the main file.
Arixeyeion Feb 2, 2024
e15df74
Merge remote-tracking branch 'origin/add-gradle-support'
Arixeyeion Feb 2, 2024
6f4bdb8
Shift Saver to package, make constructor public.
Arixeyeion Feb 2, 2024
97daa27
Add test files to test event and todo saves
Arixeyeion Feb 2, 2024
9da7b15
Delete duke from folder to avoid confusion. Adjust build.gradle to ge…
Arixeyeion Feb 2, 2024
7433b9b
Attempt to add javadoc
Arixeyeion Feb 3, 2024
e01379b
Add javadocs to public classes and methods
Arixeyeion Feb 3, 2024
74ae6ad
Add find capability
Arixeyeion Feb 3, 2024
c06ee4b
Adjust code to abide by coding standard
Arixeyeion Feb 3, 2024
de690b3
Merge branch 'branch-A-Javadoc', resolve conflicts
Arixeyeion Feb 3, 2024
9956dd2
Merge branch 'branch-level-9'
Arixeyeion Feb 3, 2024
8c6f81e
Attempt checkstyle
Arixeyeion Feb 6, 2024
6e2466f
Change to GUI
Arixeyeion Feb 6, 2024
e6fe7f2
Change path to launcher to create new jar file
Arixeyeion Feb 13, 2024
5f843c9
Late commit for assertions.
Arixeyeion Feb 13, 2024
c80a8aa
Add rest of the CodeQuality changes.
Arixeyeion Feb 13, 2024
b8be124
Merge pull request #2 from Arixeyeion/branch-A-CodeQuality
Arixeyeion Feb 13, 2024
db78956
Merge branch 'master' into branch-A-Assertions
Arixeyeion Feb 13, 2024
613051d
Merge pull request #1 from Arixeyeion/branch-A-Assertions
Arixeyeion Feb 13, 2024
254dfa1
Add sorting functionality for tasks. Tasks are now sorted in the foll…
Arixeyeion Feb 14, 2024
f90d9a8
Change background colour to differentiate between chatbot text and us…
Arixeyeion Feb 20, 2024
f4802fb
Merge branch 'branch-C-Sort'
Arixeyeion Feb 20, 2024
b257544
Add and modify more javadocs to public methods and objects
Arixeyeion Feb 20, 2024
8f36312
Test more potential exceptions that users may face. Standardize how d…
Arixeyeion Feb 20, 2024
f86607a
Add pause when user inputs "bye" so the chat bot can say bye properly…
Arixeyeion Feb 21, 2024
a411550
Update warning message to include find for case when user keys in "fi…
Arixeyeion Feb 21, 2024
0fe8eac
Add picture to docs for website creation
Arixeyeion Feb 21, 2024
783d486
Change deadline to read dates and times instead of just dates
Arixeyeion Feb 21, 2024
8fa4752
Trial docs for webpage
Arixeyeion Feb 21, 2024
d8c328e
Check picture on website
Arixeyeion Feb 21, 2024
aaf46f2
Check image on website
Arixeyeion Feb 21, 2024
796585d
Trial website image upload again
Arixeyeion Feb 21, 2024
3031066
Fix deadline date time error display message to match updated version
Arixeyeion Feb 22, 2024
8e635e3
Adjust Zoe to catch more potential user errors so that it can accurat…
Arixeyeion Feb 22, 2024
589f25c
Update javadocs to reflect code that is made in reference to online s…
Arixeyeion Feb 22, 2024
40c1530
Update zoe download location to the released version of the ip
Arixeyeion Feb 22, 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
434 changes: 434 additions & 0 deletions .config/checkstyle/checkstyle.xml

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions .config/checkstyle/suppressions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
"-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
"https://checkstyle.org/dtds/suppressions_1_2.dtd">

<suppressions>
<suppress checks="JavadocType" files=".*Test\.java"/>
<suppress checks="MissingJavadocMethodCheck" files=".*Test\.java"/>
</suppressions>
62 changes: 62 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
plugins {
id 'checkstyle'
id 'java'
id 'application'
id 'com.github.johnrengelman.shadow' version '7.1.2'
}

checkstyle {
toolVersion = '10.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 {
mainClassName = "zoe.Launcher"
}

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

run{
standardInput = System.in
}

7 changes: 7 additions & 0 deletions data/SavedTasks.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
todo_read book_1
event_meeting /from 2pm/to 6pm_1
deadline_english project/by 2024-03-01 23:58_0
deadline_math project/by 2024-03-01 23:59_0
deadline_art project/by 2024-05-03 23:58_0
deadline_science project/by 2024-05-03 23:59_0
EOF
75 changes: 61 additions & 14 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,76 @@
# User Guide
# Zoe User Guide

## Features
![Zoe Ui](https://arixeyeion.github.io/ip/Ui.png)

### Feature-ABC
Hey you! Yes you! Do you need to manage tasks? Well I can do it for you!

Description of the feature.
## Get Started

### Feature-XYZ
1. Ensure you have java 11 installed in your computer
2. Download the latest Zoe.jar from [here](https://github.com/Arixeyeion/ip/releases/tag/A-Release)
3. Copy the jar file to a directory of your choosing
4. Open the command terminal, change to the directory you chose in step 3 and key in `java -jar Zoe.jar`
5. aaaaaaaaaaaaand Viola! you can start managing your tasks

Description of the feature.
## Features

## Usage
### Add ToDos

### `Keyword` - Describe action
Adds a new todo task with no other parameters, just to keep things in mind

Describe the action and its outcome.
```
todo <task-description>
```

Note, you cannot type todo on its own

Example of usage:
### Add Events

Adds a new event task with a timeframe

```
event <task-description> /from <start> /to <end>
```

`keyword (optional arguments)`
Note, the time frame currently does not follow any date/time standards so you can key in any timeframe you want

Expected outcome:
### Add Deadlines

Description of the outcome.
Adds a new deadline task with the by parameter to signify when you must finish the task

```
expected output
deadline <task-description> /by yyyy-mm-dd HH:mm
```
Example: `deadline complete project /by 2024-03-20 23:59`

Note, the `/by` parameter only accepts `yyyy-MM-dd HH:mm`

### List

Lists all of the tasks you currently have when you call `list`

For dealines, they are listed according to their date time

### Marking, Unmarking and Deleting

Marks, unmarks or deletes a task according to its index in list

Examples: `mark 1` or `unmark 2` or `delete 3`

Note, the function currently does not support keying in multiple numbers

### Finding

Shows tasks that contain a certain `word` in their description

Example: Calling `find book` will display all tasks that contain `book` in their description

Note, the `word` used to locate a task is case sensitive

### Exiting

Calling `bye` or clicking on the red cross closes Zoe

### Saving

Data saving is done automatically everytime a todo, event or deadline is created
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 github UI entry/Full Demo.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 github UI entry/deadline.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 github UI entry/image.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 github UI entry/startUp.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