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

[Ernest Yu] iP #619

Open
wants to merge 74 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 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
c9700d5
rename greet exit
ernestycr Aug 22, 2024
3a37ec7
echo
ernestycr Aug 22, 2024
7d54463
add list
ernestycr Aug 22, 2024
8d1d88e
mark as done
ernestycr Aug 22, 2024
2a18dae
todo event deadline
ernestycr Aug 22, 2024
833133a
automated text UI testing
ernestycr Aug 22, 2024
38f9bec
handle errors
ernestycr Aug 22, 2024
1b521ad
delete tasks
ernestycr Aug 22, 2024
a190e1e
delete tasks 2
ernestycr Aug 22, 2024
72e666e
Add writeToFile method
ernestycr Sep 1, 2024
cbeeef2
Add reading and writing to file
ernestycr Sep 1, 2024
6c942c6
Add datafile
ernestycr Sep 1, 2024
cbd56fd
remove B_word file
ernestycr Sep 1, 2024
e89bede
Merge branch 'branch-Level-7'
ernestycr Sep 1, 2024
356ec8c
Add Ui class
ernestycr Sep 1, 2024
63cec7f
Add Storage class
ernestycr Sep 1, 2024
e53a47f
Add TaskList class
ernestycr Sep 1, 2024
bc2746b
Add Parser class
ernestycr Sep 1, 2024
c9b71c5
Add Command, AddCommand class and update the rest
ernestycr Sep 1, 2024
987c3b1
Update Bword to mirror task page
ernestycr Sep 1, 2024
9683515
Add DeleteCommand class
ernestycr Sep 1, 2024
89ba645
Add MarkCommand class
ernestycr Sep 1, 2024
1e125c2
Add UnmarkCommand class
ernestycr Sep 1, 2024
885696a
Add ListCommand class
ernestycr Sep 1, 2024
ffd1bc3
level-7 with more OOP
ernestycr Sep 1, 2024
fd4fc4c
Fix mistakes made earlier
ernestycr Sep 1, 2024
7da5dcd
Add ExitCommand class
ernestycr Sep 1, 2024
ef6ce97
Restore all functionalities (I hope) of level7
ernestycr Sep 1, 2024
105be6c
Add LocalDate and modified relevant files
ernestycr Sep 2, 2024
7ce1c85
Merge branch: Add Level-8 as increment
ernestycr Sep 2, 2024
c69296f
Stop tracking TaskHandler.java
ernestycr Sep 2, 2024
75bceb8
Add .gitignore file
ernestycr Sep 2, 2024
7d741f1
Add and edit all files to branch-A-package
ernestycr Sep 2, 2024
20200b9
Merge branch 'branch-A-Packages': yes
ernestycr Sep 2, 2024
40d18a4
Save data file
ernestycr Sep 2, 2024
8b5c1b3
Merge branch 'add-gradle-support'
ernestycr Sep 2, 2024
4833381
Add ToDoTaskTest and ParserTest class
ernestycr Sep 2, 2024
a41eda4
Add javadoc comments to bot, command, exception packages
ernestycr Sep 2, 2024
454e46d
Add javadoc comments for Task.java
ernestycr Sep 2, 2024
f79e64f
Merge branch 'branch-A-JavaDoc'
ernestycr Sep 2, 2024
424cf74
Add javadoc comments to ToDoTask.java
ernestycr Sep 2, 2024
ff4ac5e
Merge branch 'branch-A-CodingStandard'
ernestycr Sep 2, 2024
54a5a8c
Add FindCommand and modified related classes
ernestycr Sep 3, 2024
2ee5da5
Resolve merge conflicts (hopefully)
ernestycr Sep 3, 2024
9c2135a
Add checkstyle
ernestycr Sep 5, 2024
dee2a80
Merge maybe with ff I forgot
ernestycr Sep 5, 2024
c2aa27f
Add gui till javafx level4
ernestycr Sep 12, 2024
9f50bcb
Edit the execute method in Command for the GUI
ernestycr Sep 12, 2024
91ec795
Merge branch 'branch-Level-10'
ernestycr Sep 12, 2024
f6c4932
Rectify codestyle for Main and Bword
ernestycr Sep 20, 2024
edf23bd
branch1 commit1
ernestycr Sep 22, 2024
7770545
Modify AddCommand for code quality
ernestycr Sep 22, 2024
e764925
Merge pull request #2 from somethingfishyfishy/branch-A-Assertions
somethingfishyfishy Sep 22, 2024
aa1b7ee
Merge changes from master to branch-A-CodeQuality
ernestycr Sep 22, 2024
4ec63b2
Merge pull request #3 from somethingfishyfishy/branch-A-CodeQuality
somethingfishyfishy Sep 22, 2024
f9ae1ad
Add comment for future reference for streams
ernestycr Sep 23, 2024
5d96c88
To Merge branch 'master' into branch-A-Streams
ernestycr Sep 23, 2024
25e0a01
Merge pull request #4 from somethingfishyfishy/branch-A-Streams
somethingfishyfishy Sep 23, 2024
149b7dc
Add Extension C-DetectDuplicates
ernestycr Sep 23, 2024
0489e23
Merge branch, add extension - C-DetectDuplicates
ernestycr Sep 23, 2024
ca812de
Add HelpCommand
ernestycr Sep 23, 2024
f14bd71
Merge branch 'branch-A-Extensions'
ernestycr Sep 23, 2024
303a829
Update README.md
somethingfishyfishy Sep 23, 2024
70d268e
Update README.md
somethingfishyfishy Sep 23, 2024
f617801
Add style to GUI
ernestycr Sep 28, 2024
3611a22
Merge branch 'master' of https://github.com/somethingfishyfishy/ip
ernestycr Sep 28, 2024
b8a2cdf
Beautify images
ernestycr Sep 28, 2024
352806d
Delete dead code
ernestycr Sep 28, 2024
d25df0f
Fix bugs of program
ernestycr Sep 28, 2024
2c5fa98
Update README.md
somethingfishyfishy Sep 28, 2024
a3acccc
Add jar Release File
ernestycr Sep 28, 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
29 changes: 9 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
# Duke project template
# Bword chatbot

This is a project template for a greenfield Java project. It's named after the Java mascot _Duke_. Given below are instructions on how to use it.
This is a greenfield Java project. It's adapted after the Java mascot _Duke_. Given below are instructions on how to use it.

## Setting up in Intellij
## Running the program

Prerequisites: JDK 17, update Intellij to the most recent version.
You can do one of the following to run the program
1. Run the jar file, if you prefer the GUI interface
2. Run Bword

1. Open Intellij (if you are not in the welcome screen, click `File` > `Close Project` to close the existing project first)
1. Open the project into Intellij as follows:
1. Click `Open`.
1. Select the project directory, and click `OK`.
1. If there are any further prompts, accept the defaults.
1. Configure the project to use **JDK 17** (not other versions) as explained in [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk).<br>
In the same dialog, set the **Project language level** field to the `SDK default` option.
3. After that, locate the `src/main/java/Duke.java` file, right-click it, and choose `Run Duke.main()` (if the code editor is showing compile errors, try restarting the IDE). If the setup is correct, you should see something like the below as the output:
```
Hello from
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
for 2, you will need to enter the following commands in bash after navigating to the directory with Bword
```javac Bword.java```
```java Bword```
63 changes: 63 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
plugins {
id 'java'
id 'application'
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'checkstyle'
}

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 {
mainClass.set("Launcher")
}

shadowJar {
archiveBaseName = "Bword"
archiveClassifier = null
}

run{
standardInput = System.in
}

mainClassName = 'Launcher'
9 changes: 9 additions & 0 deletions data/bword.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
todo abc
todo adasjdfkasnf
todo ffff
todo tttt
todo llll
todo xxx
todo abcdefghi
todo adkjadn
todo asdkasfd
109 changes: 95 additions & 14 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,111 @@
# Duke User Guide
# Bword User Guide
Hi from Bword, your ex girlfriend / boyfriend / otherfriend who keeps tasks for you >:(
![Ui](https://github.com/user-attachments/assets/d84b365e-764f-4beb-913b-7c073a72def6)

// Update the title above to match the actual product name
## Getting started 101
Ensure that you are running java 17 on your machine. You may check your java version by entering java -version in the command line.

// Product screenshot goes here
Copy the jar file into your terminal and run it with the following command:
```java -jar Bword.java```

// Product intro goes here
## Running the program 101

## Adding deadlines
Here the list of features we have!

// Describe the action and its outcome.
**Add Tasks:** Create new to-do items, deadlines, or events.

// Give examples of usage
**List Tasks:** Display all current tasks.

Example: `keyword (optional arguments)`
**Mark Tasks:** Mark tasks as completed or uncompleted.

// A description of the expected outcome goes here
**Delete Tasks:** Remove tasks from the list.

**Find Tasks:** Search for tasks by keyword.

## How to get help 101

type the following to receive help:
1. help - for listing all the commands
2. help <command> - for listing command format for specific commands

Commands:
```
help
help <command>
```

Example
```
help
help todo
```


## Adding Tasks 101

This will add to your task list
Commands:
```
todo <description>
deadline <description> /by <yyyy-mm-dd>
event <description> /from <yyyy-mm-dd> /to <yyyy-mm-dd>
```

Example
```
todo buy groceries
deadline submit assignment /by 2023-12-10
event team meeting /from 2023-12-01 /to 2023-12-01
```

## Listing Tasks 101

This will list all the tasks
Command:

```list```

## Marking / Unmarking Tasks 101

This will mark / unmark tasks accordingly
Commands:
```
expected output
mark <task number>
unmark <task number>
```

## Feature ABC
## Deleting Tasks 101

This will Delete a task
Command:

```delete <task number>```

## Finding Tasks

This will Find a task in your list

Command:

```find <keyword>```

Example:

```find meeting```

## Feature: Error Handling
If you make a mistake, the bot scolds you duh.

Example:

```todo```

// Feature details
Response:

```Task Description is empty.```

## Feature XYZ
## Closing the app 101
Press the x button of the app lah, need me to teach you meh

// Feature details
## Acknolwedgements
I would like to thank you for choosing your ex to be you B****
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