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 Zhan Feng] iP #514

Open
wants to merge 37 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
556af3f
Add Gradle support
May 24, 2020
dc082c3
Added level 1- 6, A-Collections
LolfoollorS Aug 25, 2022
cd6befb
Remove Text block literal (Not supported in JDK11)
LolfoollorS Aug 25, 2022
ae43f2c
Add Level 7
LolfoollorS Sep 1, 2022
62afe57
Add Level-8
LolfoollorS Sep 1, 2022
3e2dd5b
Merge branch 'branch-Level-7'
LolfoollorS Sep 1, 2022
5e31a06
Merge branch 'branch-Level-8'
LolfoollorS Sep 1, 2022
3c67594
Update AddFunctionDeadLine.java
LolfoollorS Sep 1, 2022
d98bebb
Merge remote-tracking branch 'origin/add-gradle-support'
LolfoollorS Sep 1, 2022
69f112c
Add A-MoreOOP
LolfoollorS Sep 1, 2022
0677f09
Add packages to all the relevant classes
LolfoollorS Sep 1, 2022
3b3702f
Add A-JUnit: ParserTest, TaskListTest, ToDoTest
LolfoollorS Sep 1, 2022
de8b34e
Add A-Jar
LolfoollorS Sep 1, 2022
189448e
Add JavaDocs for all classes except CleverNotBot.java .
LolfoollorS Sep 1, 2022
ecfcad8
Revert "Add JavaDocs for all classes except CleverNotBot.java ."
LolfoollorS Sep 1, 2022
648ed7e
Add JavaDocs to all non main classes.
LolfoollorS Sep 1, 2022
c418254
Add Coding Standard to code.
LolfoollorS Sep 1, 2022
68f3e8d
Add Level 9
LolfoollorS Sep 1, 2022
2d9aa6d
Merge branch 'branch-A-JavaDoc'
LolfoollorS Sep 1, 2022
48e7f50
Merge branch 'branch-A-CodingStandard'
LolfoollorS Sep 1, 2022
847dd6c
Merge branch 'branch-Level-9'
LolfoollorS Sep 1, 2022
0ea15bf
Update MarkCommand.java
LolfoollorS Sep 1, 2022
48d0376
Add catch for non numeric number after command such as `mark a` `unma…
LolfoollorS Sep 4, 2022
2beda42
Refactored Storage.java
LolfoollorS Sep 8, 2022
0e7cc9f
Add Level-10 Gui
LolfoollorS Sep 18, 2022
2836fea
no message
LolfoollorS Sep 18, 2022
e09f5f9
Add C-Undo for undo personal
LolfoollorS Sep 18, 2022
3b740c3
Add A-UserGuide
LolfoollorS Sep 18, 2022
6de5831
Add HelpWindow.fxml
LolfoollorS Sep 18, 2022
6a9948e
Add UI for Docs
LolfoollorS Sep 18, 2022
8bd2385
Change mainclassname in build.gradle
LolfoollorS Sep 18, 2022
b5898aa
Modify README.md
LolfoollorS Sep 18, 2022
b66666c
Renam UI to Ui.png
LolfoollorS Sep 19, 2022
e974db1
Improve dialog box
LolfoollorS Sep 19, 2022
9928cd0
Update CSS and FXML files
LolfoollorS Sep 19, 2022
c2a27ac
Force Java 11 Compile.
LolfoollorS Sep 25, 2022
2a4775f
Update app scene and Ui.png
LolfoollorS Sep 25, 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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ bin/

/text-ui-test/ACTUAL.txt
text-ui-test/EXPECTED-UNIX.TXT
src/main/java/MyFrame.java
src/main/java/clevernotbot/MyFrame.java
82 changes: 82 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
plugins {
id 'java'
id 'application'
id 'com.github.johnrengelman.shadow' version '5.1.0'
id 'checkstyle'
id 'java-library'
}

checkstyle {
toolVersion = '10.2'
}

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
}
}

java {
toolchain {
languageVersion = JavaLanguageVersion.of(11)
}
}

version = '1.2.1'


application {
mainClassName = "clevernotbot.Launcher"
}

jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest {
attributes "Main-Class": "clevernotbot.Launcher"
}

from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}

shadowJar {
archiveBaseName = "clevernotbot"
archiveClassifier = null
}

run{
standardInput = System.in
}
149 changes: 135 additions & 14 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,150 @@
# User Guide
Clevernotbot is a **free desktop java app for managing your task, optimized for use via a Command Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI).

- Quick Start
- Features
- [Viewing help: `help`](#viewing-help-help)
- [Finding tasks: `find`](#finding-tasks-find)
- [Marking a task: `mark`](#marking-a-task-mark)
- [Unmarking a task: `unmark`](#unmarking-a-task-unmark)
- [Listing out all tasks: `list`](#listing-out-all-tasks-list)
- [Adding a todo Task: `todo`](#adding-a-todo-task-todo)
- [Adding a event Task: `event`](#adding-a-event-task-event)
- [Adding a deadline Task: `deadline`](#adding-a-deadline-task-deadline)
- [Deleting a selected Task: `delete`](#deleting-a-selected-task-delete)
- [Greet user: `greet`](#greet-user-greet)
- [Ending chat with chatbot: `bye`](#ending-chat-with-chatbot-bye)
- [FAQ](#FAQ)
- [Command Summary](#Command-summary)

## Quick Start
1. Ensure you have Java 11 or above installed in your Computer.
2. Download the latest cleverNotBot.jar from [here](https://github.com/LolfoollorS/ip/releases).
3. Double-click the file to start the app!
4. Type the command in the command box and press Enter to execute it. e.g. typing `help` and pressing Enter will open the help window.
- `list` : Lists all tasks.
- `todo sleep at 9p.m.`: Adds a task to sleep at 9 p.m. .
- `deadline super sekrit project /by 02-12-2018 18:00`: Adds a deadline for super sekrit project.
- `event jar releasing /at today 9p.m.`: Adds an event for jar releasing at 9p.m..
- `delete 3` : Deletes the 3rd task shown in task list.
- `undo` : Undo the previous deletion and adding of task.
- `bye` : Chatbot exits the room.
5. Refer to the Features below for details of each command.
## Features

### Feature-ABC
### Viewing help: `help`
Shows a message explaining how to access the help page.

Format: `help`
### Finding tasks: `find`
Finds a task that contains the keyword

Format: `find KEYWORD`

Examples:
- `find book`
- `find All Hail the great bot`

### Marking a task: `mark`
Marks a task in the task list.

Format: `mark INDEX`
- Marks the task at the specified INDEX. The index refers to the index number shown in the task list. The index must be a positive integer 1, 2, 3, …

Example:
- `mark 1`
- `mark 10`

### Unmarking a task: `unmark`
Unmarks a task in the task list.

Format: `unmark INDEX`
- Unmarks the task at the specified INDEX. The index refers to the index number shown in the task list. The index must be a positive integer 1, 2, 3, …

Example:
- `unmark 1`
- `unmark 10`

### Listing out all tasks: `list`
Shows a list of all tasks in the task list.

Format: `list`

Example:
- `list`

### Adding a todo Task: `todo`
Adds a todo task into the task list.

Format: `todo TODOTASKNAME`

Example:
- `todo going to go to airport and take a picture of the famous airport`

### Adding a event Task: `event`
Adds an event task into the task list.

Format: `event EVENTTASKNAME /at EVENTTIME `

Example:
- `event jar releasing /at today 9p.m.`

### Adding a deadline Task: `deadline`
Adds a deadline task into the task list.

Format: `deadline DEADLINETASKNAME /by TIMEIN_dd-MM-yyyy_HH:mm`

Example:
- `deadline super sekrit project /by 02-12-2018 18:00`

### Deleting a selected Task: `delete`
Deletes a task from the task list.

Format: `delete INDEX`
- Deletes the task at the specified INDEX. The index refers to the index number shown in the task list. The index must be a positive integer 1, 2, 3, …

Description of the feature.
Example:
- `delete 1`
- `delete 3`

### Feature-XYZ
### Greet user: `greet`
Greets User.

Description of the feature.
Format: `greet`

## Usage
Example:
- `greet`

### `Keyword` - Describe action
### Ending chat with chatbot: `bye`
Ends the chat with chatbot.

Describe the action and its outcome.
Format: `bye`

Example of usage:
Example:
- `bye`

`keyword (optional arguments)`
## Saving the data
Task list are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.

Expected outcome:
## Editing the data
CleverNotBot save data is saved at `/data/cleverNotBot.txt` in txt format.
> :exclamation: **Caution**: If your changes to the data file makes its format invalid, the program will not run!

Description of the outcome.
## FAQ
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous CleverNotBot home folder.

```
expected output
```
## Command summary
| Action | Format, Examples |
|----------|------------------------------------------------------------------------------------------------------------------------|
| Help | `help` |
| Find | `find KEYWORD` <br/> e.g.,`find book` |
| Mark | `mark INDEX` <br/> e.g.,`mark 1` |
| Unmark | `unmark INDEX` <br/> e.g.,`unmark 1` |
| List | `list` |
| Todo | `todo TODOTASKNAME` <br/> e.g.,`todo read book` |
| Event | `event EVENTTASKNAME /at EVENTTIME ` <br/> e.g.,`event jar releasing /at today 9p.m.` |
| Deadline | `deadline DEADLINETASKNAME /by TIMEIN_dd-MM-yyyy_HH:mm`<br/> e.g.,`deadline super sekrit project /by 02-12-2018 18:00` |
| Delete | `delete INDEX`<br/> e.g.,`delete 1` |
| Greet | `greet` |
| Bye | `bye` |
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-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading