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

[Tan Gee Teng] iP #281

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
d839859
Add Gradle support
May 24, 2020
ba88212
level-1
geetengtan Jan 18, 2022
8278dd9
level-1
geetengtan Jan 18, 2022
aae4682
level-2
geetengtan Jan 18, 2022
753acd7
Mark as Done
geetengtan Jan 18, 2022
b696fe4
ToDos, Events, Deadlines
geetengtan Jan 18, 2022
5df357a
Automated Text UI Testing
geetengtan Jan 18, 2022
b839e06
Handle Errors
geetengtan Jan 18, 2022
621bb3a
Delete
geetengtan Jan 18, 2022
7d77ec9
Simplify code
geetengtan Jan 25, 2022
8e7d18f
Add save feature
geetengtan Jan 25, 2022
786bcef
Add date time formatting
geetengtan Jan 26, 2022
a261db1
test branching
geetengtan Jan 26, 2022
2ef0d93
Merge branch 'branch-Level-7'
geetengtan Jan 26, 2022
8bcf1bf
Merge branch 'branch-Level-8'
geetengtan Jan 26, 2022
b0ee8f3
Fix bug for merging
geetengtan Jan 26, 2022
ed76196
Use More OOP
geetengtan Jan 26, 2022
de4db61
Organize into Packages
geetengtan Jan 26, 2022
ed074ac
Fix bugs and Add JUnit Test
geetengtan Feb 1, 2022
8b73153
Merge remote-tracking branch 'origin/add-gradle-support'
geetengtan Feb 1, 2022
c87aecb
Fix Gradle bugs and add jar
geetengtan Feb 1, 2022
6c080c7
Add JavaDoc
geetengtan Feb 2, 2022
50bd80a
Fix bugs and add Find Feature
geetengtan Feb 2, 2022
dca73b3
Fix gradle properties
geetengtan Feb 2, 2022
d6dbbd6
Follow Coding Standard for 2103
geetengtan Feb 2, 2022
1337e0b
Merge branch 'branch-Level-9'
geetengtan Feb 2, 2022
5050475
Merge branch 'branch-A-JavaDoc'
geetengtan Feb 2, 2022
558c6e3
Improve code readability
geetengtan Feb 2, 2022
e3a7aca
GUI
geetengtan Feb 3, 2022
8ae7ca4
Add Pictures
geetengtan Feb 3, 2022
1c370ee
Improve code quality
geetengtan Feb 6, 2022
93993c4
Find command: make matching case insensitive
geetengtan Feb 6, 2022
89ea9c9
Improve code quality
geetengtan Feb 7, 2022
40f3d93
Add assertions
geetengtan Feb 7, 2022
cf1bff7
Merge branch 'branch-A-CodeQuality'
geetengtan Feb 7, 2022
1033df2
Add Notes feature
geetengtan Feb 7, 2022
f84d529
Add HELP feature
geetengtan Feb 7, 2022
e4fb4ce
Change UI and update README
geetengtan Feb 12, 2022
0da1a0a
update README and CodeQuality
geetengtan Feb 12, 2022
0e4e193
fix storage bug
geetengtan Feb 12, 2022
244524e
Merge pull request #2 from geetengtan/branch-MergingPR
geetengtan Feb 17, 2022
49c5706
made storage cross-platform
geetengtan Feb 17, 2022
1f7c66f
fix javafx version
geetengtan Feb 18, 2022
01d3105
fix fxml version
geetengtan Feb 18, 2022
f6b5d37
update README and UG
geetengtan Apr 13, 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
29 changes: 8 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,11 @@
# Duke project template
# BMO Assistant

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 Software Engineering academic project done by using a greenfield Java project template,
[Duke](https://github.com/nus-cs2103-AY2122S2/ip). It is an application to help user keep track of tasks, deadlines
and events. Given below is the instruction for installing the application.

## Setting up in Intellij
### Setting up BMO Assistant

Prerequisites: JDK 11, update Intellij to the most recent version.

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 11** (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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
* Follow this [link](https://github.com/geetengtan/BMO-Assistant/releases/tag/A-Release) and install the duke.jar file
within the Assets.
* Refer to the [User Guide](https://geetengtan.github.io/BMO-Assistant/) to familiarise yourself with the application.
61 changes: 61 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
plugins {
id 'java'
id 'application'
id 'checkstyle'
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 = "Launcher"
}

shadowJar {
archiveBaseName = "duke"
archiveClassifier = null
}

checkstyle {
toolVersion = '8.29'
}

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 @@
T#true#borrow book
D#false#return book #2022-03-11
D#false#CS2103 iP #2022-02-18
Empty file added data/notes.txt
Empty file.
29 changes: 0 additions & 29 deletions docs/README.md

This file was deleted.

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.
204 changes: 204 additions & 0 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# User Guide

## Features
- Task List
- Personalised Notes

### Task List

Task List helps you organise your tasks, keep track of progress and can remind you of deadlines and events.

### Personalised Notes

Personalised Notes can help you record important stuffs that you might want to refer to any time.

## Usage

### `list` - view Task List

The current Task List is printed. A task has the following format:
`[type of task][makred/unmarked] description (date of task)`

Example of usage:

`list`

Expected outcome:

```
Here are the tasks in your list:
1. [T][X] borrow book
2. [D][ ] return book (Mar 11 2022)
3. [D][ ] CS2103 iP (Feb 18 2022)
4. [E][ ] party at Evan's (Feb 27 2022)
```



### `todo [description]` - add a todo task to Task List

Add a todo task to your Task List. Todo task supports task description feature only.

Example of usage:

`todo borrow book`

Expected outcome:

A new task `todo` will be added to your Task List and labelled [T] for **T**odos. Todos support task description

```
Got it. BMO has added this task:
[T][ ] borrow book
Now you have 1 task in your list.
```



### `deadline [description] /[yyyy-mm-dd]` - add a deadline to Task List

Example of usage:

`deadline return book /2022-03-11`

Expected outcome:

A new task `deadline` will be added to your Task List and labelled [D] for **D**eadlines. Deadlines support task description and date

```
Got it. BMO has added this task:
[D][ ] return book (Feb 27 2022)
Now you have 2 tasks in your list.
```



### `event [description] /[yyyy-mm-dd]` - add an event to Task List

Example of usage:

`event party at Evan's /2022-02-27`

Expected outcome:

A new task `event` will be added to your Task List and labelled [E] for **E**vents. Events support task description and date.

```
Got it. BMO has added this task:
[E][ ] party at Evan's (Feb 27 2022)
Now you have 3 tasks in your list.
```



### `mark [index]` - mark a task

Marks the task according to the index of the Task List.

Example of usage:

`mark 1`

Expected outcome:

The indexed task will be marked and shown.

```
Awesome! :D Another task done:
[T][X] borrow book
```



### `unmark [index]` - unmark a task

Unmarks the task according to the index of the Task List.

Example of usage:

`unmark 1`

Expected outcome:

The indexed task will be unmarked and shown.

```
T_T BMO hate it when you lie. I will unmark this task:
[T][ ] borrow book
```



### `delete [index]` - delete a task

Deletes the task according to the index of the Task List.

Example of usage:

`delete 1`

Expected outcome:

The indexed task will be unmarked and shown.

```
BMO deleted the task. Yay!:
[T][X] borrow book
```



### `note [label]: [description]` - add a new note to your Personalised Notes

Adds a new note with a label and a description. Notes are referred to by their labels instead of index.

Example of usage:

`note StudentID: A0123456M`

Expected outcome:

New note added to Personalised Notes. `label` of the note is StudentID and `description` of the note is A0123456M.

```
BMO added this to your notes:
StudentID: A0123456M
```



### `checknote` - check your Personalised Notes

Checks your Personalised Notes.

Example of usage:

`checknote`

Expected outcome:

The current list of Personalised Notes.

```
Here are your notes:
StudentID: A0123456M
```



### `deletenote [label]` - delete a note

Deletes a note with the label given.

Example of usage:

`deletenote StudentID`

Expected outcome:

Note with label StudentID is deleted from Personalised Notes.

```
Deleted this note:
StudentID: A0123456M
```
Binary file added docs/download1.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.
11 changes: 11 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#Wed Feb 02 12:10:36 MYT 2022
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
distributionPath=wrapper/dists
<<<<<<< HEAD
=======
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
>>>>>>> branch-A-JavaDoc
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
Loading