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

[KristopherPTaslim] iP #287

Open
wants to merge 39 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
d839859
Add Gradle support
May 24, 2020
5406049
Level-1
KristopherPTaslim Jan 21, 2022
0dd972e
Finish Level-2
KristopherPTaslim Jan 21, 2022
1812262
Finish Level-3
KristopherPTaslim Jan 21, 2022
277c43f
Finish Level-4
KristopherPTaslim Jan 21, 2022
73b1d1c
Finish Level-5
KristopherPTaslim Jan 22, 2022
d619a83
Finish Level-6
KristopherPTaslim Jan 22, 2022
318b3aa
Finish Testing
KristopherPTaslim Jan 23, 2022
32bb23a
Finish Branch-Level-7
KristopherPTaslim Jan 29, 2022
bc9608c
Finish branch-Level-8
KristopherPTaslim Jan 29, 2022
e754bcb
Merge branch 'branch-Level-8'
KristopherPTaslim Jan 29, 2022
b37f27b
Debug Branch Level-7
KristopherPTaslim Jan 29, 2022
83bb0f3
Finish A-MOREOOP
KristopherPTaslim Feb 6, 2022
27fc406
Finish A-Packages
KristopherPTaslim Feb 6, 2022
589b161
Finish A-JUnit
KristopherPTaslim Feb 7, 2022
e8b6b2a
Debug A-JUnit
KristopherPTaslim Feb 7, 2022
28a85db
Delete the wrong folder test:java:duke
KristopherPTaslim Feb 7, 2022
7bbe7be
Finish A-Javadoc
KristopherPTaslim Feb 8, 2022
7b43639
Added missing JavaDoc in the branch-A-JavaDoc
KristopherPTaslim Feb 8, 2022
bbc3057
Finish A-CodingStandard
KristopherPTaslim Feb 9, 2022
6ea1b8c
Finish branch-Level-9
KristopherPTaslim Feb 9, 2022
3d551ba
Merge tag 'branch-A-CodingStandard'
KristopherPTaslim Feb 9, 2022
452a916
Merge tag 'branch-Level-9'
KristopherPTaslim Feb 9, 2022
aa60d80
Merging all the three branches(JavaDoc, Coding Standard and Level 9)
KristopherPTaslim Feb 9, 2022
6b75a3c
Merge commit 'd8398594b7bc43da5eb865321c5a50cec4b3923d' into branch-A…
KristopherPTaslim Feb 10, 2022
725a458
Finish running branch-A-Gradle
KristopherPTaslim Feb 10, 2022
fd68d86
Finish Level-10
KristopherPTaslim Feb 14, 2022
80a985b
Fix Minor Bug
KristopherPTaslim Feb 14, 2022
4524860
Edit execute() method in Parser class to follow coding standard.
KristopherPTaslim Feb 15, 2022
adc7846
Add assertions in some various points in code
KristopherPTaslim Feb 16, 2022
c3d28a2
Merge pull request #2 from KristopherPTaslim/branch-A-Assertions
KristopherPTaslim Feb 16, 2022
97d12b1
Merge branch 'master' into branch-A-CodeQuality
KristopherPTaslim Feb 16, 2022
1dfa71f
Merge pull request #3 from KristopherPTaslim/branch-A-CodeQuality
KristopherPTaslim Feb 16, 2022
c96d62b
Edit minor feature in Parser class
KristopherPTaslim Feb 16, 2022
36ccfcc
Finish branch-BCD-Extension
KristopherPTaslim Feb 18, 2022
99300b0
Add Ui.png under the docs folder
KristopherPTaslim Feb 18, 2022
7e5a187
Update ReadME.md
KristopherPTaslim Feb 18, 2022
cc38eb8
Update ReadME.md
KristopherPTaslim Feb 18, 2022
1a329c8
Edit some parts in build.gradle
KristopherPTaslim Feb 19, 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
221 changes: 197 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,197 @@
# Duke project template

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.

## Setting up in Intellij

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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
# Duke User Guide

An application which aims to help you to manage your tasks through the use of Command Line Interface (CLI).
With a variety of features, this will help the users to sort their tasks in an efficient manner.

## Features

1. Add task
- You can add task to this application.
2. Delete task
- You can delete the tasks you previously added.
3. Find task
- You can find the tasks which have the common keyword.
4. Mark/Unmark task
- You can mark/unmark task to indicate whether it has been done.
5. View task
- You can view all the tasks on a specific day too.
6. List task
- You can list all the tasks you added.

## Usage

### 1. Add Task
There are three different types of tasks - Todo, Deadline and Event.
Todo is for tasks without time while Deadline and Event have time component.

**Add Todo**

Format:

- `todo TASK`
- TASK are the tasks to be added. It cannot be null/empty.

Example of usage:

`todo help kris do cs2103`

Expected outcome:

```
Got it. I've added this task:
[T][ ] help kris do cs2103
Now you have 1 tasks in the list.
```
**Add Deadline**

Format:

- `deadline TASK /by DATE TIME`
- TASK are the tasks to be added. It cannot be null/empty.
- DATE are the date which the tasks are due by. It should be entered with this format: `DD/MM/YYYY`. It cannot be null/empty.
- TIME are the time which the tasks are due by. It should be entered with this format: `HHMM`. It cannot be null/empty.

Example of usage:

`deadline help kris do cs2103 /by 18/2/2022 2359`

Expected outcome:

```
Got it. I've added this task:
[D][ ] help kris do cs2103 (by: Feb 18 2022 11:59 PM)
Now you have 1 tasks in the list.
```

**Add Event**

Format:

- `event TASK /at DATE TIME`
- TASK are the tasks to be added. It cannot be null/empty.
- DATE are the date which the tasks are due by. It should be entered with this format: `DD/MM/YYYY`. It cannot be null/empty.
- TIME are the time which the tasks are due by. It should be entered with this format: `HHMM`. It cannot be null/empty.

Example of usage:

`event help kris do cs2103 /at 18/2/2022 1500`

Expected outcome:

```
Got it. I've added this task:
[E][ ] help kris do cs2103 (by: Feb 18 2022 3:00 PM)
Now you have 1 tasks in the list.
```

### 2. Delete Task

Format:

- `delete TASK_INDEX`
- TASK_INDEX are the index of the tasks. The index can be viewed by typing `list`. It cannot be null/empty.

Example of usage:

`delete 1`

Expected outcome:

```
Noted.I've removed this task:
[T][ ] help kris do cs2103
Now you have 2 tasks in the list.
```

### 3. Find Task

Format:

- `find KEYWORD`
- KEYWORD are the keyword found in the tasks. It cannot be null/empty

Example of usage:

`find cs2103`

Expected outcome:

```
Here are the matching tasks in your list:
1.[D][ ] help kris do cs2103 (by: Feb 18 2022 11:59 PM)
2.[E][ ] help kris do cs2103 (at: Feb 18 2022 3:00 PM)
```

### 4. Mark/Unmark Task

**Mark Task**

Format:

- `mark TASK_INDEX`
- TASK_INDEX are the index of the tasks. The index can be viewed by typing `list`. It cannot be null/empty.

Example of usage:

`mark 1`

Expected outcome:

```
Nice!I've marked this task as done:
[D][X] help kris do cs2103 (by: Feb 18 2022 11:59 PM)
```

**Unmark Task**

Format:

- `unmark TASK_INDEX`
- TASK_INDEX are the index of the tasks. The index can be viewed by typing `list`. It cannot be null/empty.

Example of usage:

`unmark 1`

Expected outcome:

```
OK,I've marked this task as not done yet:
[D][ ] help kris do cs2103 (by: Feb 18 2022 11:59 PM)
```
### 5. View Task

Format:

- `view DATE`
- DATE are the date which the tasks are due by. It should be entered with this format: `DD/MM/YYYY`. It cannot be null/empty.

Example of usage:

`view 18/2/2022`

Expected outcome:

```
Your task for the day,Feb 18 2022:
1.[E][ ] help kris do cs2103 (at: Feb 18 2022 3:00 PM)
2.[D][ ] help kris do cs2103 (by: Feb 18 2022 11:59 PM)
```
### 6. List Task

Format:

- `list`

Example of usage:

`list`

Expected outcome:

```
Here are the tasks in your list:
1.[D][ ] help kris do cs2103 (by: Feb 18 2022 11:59 PM)
2.[E][ ] help kris do cs2103 (by: Feb 18 2022 3:00 PM)
```

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 'checkstyle'
id 'com.github.johnrengelman.shadow' version '5.1.0'
}

repositories {
mavenCentral()
}

dependencies {
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'
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'
}

test {
useJUnitPlatform()

testLogging {
events "passed", "skipped", "failed"

showExceptions true
exceptionFormat "full"
showCauses true
showStackTraces true
showStandardStreams = false
}
}

application {
mainClassName = "duke.Launcher"
}

shadowJar {
archiveBaseName = "duke"
archiveClassifier = null
}

checkstyle {
toolVersion = '8.29'
}

run{
standardInput = System.in
}
13 changes: 13 additions & 0 deletions data/tasks.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
List
deadline help Kris do cs3132 /by 2/3/2001 1800
Todo buy bread
deadline help Kris do cs2103 /by 2/3/2001 1800
Event help Kris do cn4122 /at 3/2/1222 1800
list
Mark 1
Mark 2
List
Find cs
Find help
Bye

Loading