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 Eu Zin iP #470

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
3b19ba1
Add Gradle support
May 24, 2020
5fa8ff1
This is level 1, I hope im committing this correctly.
euzintan Aug 20, 2020
913c098
Level 2
euzintan Aug 20, 2020
193dc5b
Level 2
euzintan Aug 20, 2020
41f3eac
Revert "Level 2"
euzintan Aug 20, 2020
f699f2b
Level 3
euzintan Aug 20, 2020
fc87ead
Level 4:
euzintan Aug 20, 2020
60c2438
Merge remote-tracking branch 'origin/master' into master
euzintan Aug 20, 2020
7569542
Added Automated Text UI Testing
euzintan Aug 20, 2020
4deb825
Implemented Duke specific extensions
euzintan Aug 20, 2020
1cd2bc0
Implemented Delete
euzintan Aug 20, 2020
0c53018
Updated Exceptions to continue accepting input after exceptions thrown
euzintan Aug 20, 2020
30be8f6
Created new class Storage to deal with saving and loading
euzintan Sep 1, 2020
c290955
Created new class Storage to deal with saving and loading
euzintan Sep 1, 2020
37b18f1
Changed Deadline class so Duke can deal with LocalDate and LocalTime …
euzintan Sep 1, 2020
5c8e64f
Merge branch 'branch-Level-8'
euzintan Sep 1, 2020
59863e8
Resolved conflicts caused during merging of save to harddisk feature …
euzintan Sep 1, 2020
cc4252f
Created Parser and Ui classes
euzintan Sep 1, 2020
c6fb802
Added JUnit Tests for Parser
euzintan Sep 1, 2020
aef36dd
Added JavaDoc Comments
euzintan Sep 1, 2020
cb2a2ce
Implemented Find feature
euzintan Sep 1, 2020
bb86215
Made changes to comply to Coding Standards
euzintan Sep 1, 2020
e1d5ed0
Resolved conflicts when merging increment branches
euzintan Sep 1, 2020
46425bf
Merge remote-tracking branch 'origin/add-gradle-support'
euzintan Sep 1, 2020
dc639f2
Prepared Duke for GUI, tested out Hello World
euzintan Sep 2, 2020
66408eb
Created Working GUI for Duke
euzintan Sep 3, 2020
623bee8
Added assertions in Parser class to make sure input of the user is ap…
euzintan Sep 7, 2020
e747751
Improve Code Quality
euzintan Sep 7, 2020
779e689
Created shadowJar file
euzintan Sep 7, 2020
5ea632b
Merge pull request #1 from euzintan/branch-Assertions
euzintan Sep 8, 2020
e5eacc7
Merge branch 'branch-A-CodeQuality'
euzintan Sep 8, 2020
cd290bf
Implemented FixedDurationTasks so that durations can be added to all …
euzintan Sep 8, 2020
b1d46b4
SLAPed harder to reduce abstraction problems
euzintan Sep 13, 2020
d21247f
Set theme jekyll-theme-slate
euzintan Sep 13, 2020
e61f350
Edited README.md to be a proper User Guide
euzintan Sep 14, 2020
56b2c52
Merge from GitHub to change theme
euzintan Sep 14, 2020
8d9ad84
Improved User Guide
euzintan Sep 15, 2020
dda2132
Changed Ui Screenshot
euzintan Sep 15, 2020
a9f9480
Fixed Duke to work with Mac
euzintan Sep 18, 2020
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
68 changes: 68 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
plugins {
id 'java'
id 'application'
id 'checkstyle'
id 'com.github.johnrengelman.shadow' version '6.0.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'
}

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.23'
}

run{
standardInput = System.in
}

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'
}
135 changes: 124 additions & 11 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,133 @@
# User Guide
# Eu Zin's Duke User Guide

## Features
Eu Zin's Duke is a simple no frills(because Eu Zin is not great at jxml yet) to-do list that can help you keep track of your bust day!

### Feature 1
Description of feature.
## Contents:
- Quickstart
- Features
- List View
- Add todo
- Add event
- Add deadline
- Mark as Complete
- Delete task
- Set task duration
- Search for a task
- FAQ
- Command Summary
---

## Usage
# Quickstart
Due to the easy-to-use nature of Eu Zin's Duke, this will be the quickest Quickstart Guide you've ever seen.

### `Keyword` - Describe action
### 1. Open Eu Zin's Duke
You will arrive at the main dialog page. It will look something like this:

Describe action and its outcome.
![Image](start.png)

Example of usage:
You will notice 3 important features:
1. The User Input Box - For you to type in the commands for Eu Zin's Duke
2. The Send Button - To send your commands to Eu Zin's Duke when you are done entering them
3. The Scroll Bar - To Scroll up and down the dialog box

`keyword (optional arguments)`
### 2. Create your first Task
Your task can come in 3 forms: todo, event and deadline.

Expected outcome:
##### todo
These tasks are the most basic of tasks, they **only have a description**.
To create a todo input:
`todo <description>` and hit *Send*

`outcome`
##### event
These tasks have a **description** and a **timeframe**.
To create an event input:
`event <description> /at <timeframe>` and hit *Send*
The description and timefram cane be of any string format.

##### deadline
These tasks have a **description** and a **date-time**
To create a deadline input:
`deadline <description> /by <date-time>` and hit *Send*
The description can be of any String format.
> **_NOTE:_** **The date-time must be strictly in either of these formats:** DD/MM/YYYY TTTT *OR* YYYY/MM/DD TTTT

### Complete your task
Once you've completed your task, input:
`done <index>`
index being the number of the task you just completed.

You should see your task appear completed in this format
![Image](done.png)

That's it for the Quickstart. You can refer to the Features sections below for everything Eu Zin's Duke can do.

---

# Features
Eu Zin's Duke contains easy to use features that are activated by typing commands in the User Input Box and hitting the *Send* Button.

### List View: `list`
Shows every task in your list, completed or not.

Format: `list`

### Add todo: `todo`
Adds a todo to the end of your list.
A todo consists of only a **description**.

Format: `todo <description>`

### Add event: `event`
Adds an event to the end of your list.
An event consists of a **description** and a **timeframe**, which can be input in any string format.

Format: `event <description> /at <timeframe>`

### Add deadline: `deadline`
Adds a deadline to the end of your list.
A deadline consists of a **description** and a **date-time**. The description can be in any string format.
> **_NOTE:_** **The date-time must be strictly in either of these formats:** DD/MM/YYYY TTTT *OR* YYYY/MM/DD TTTT

Format: `deadline <description> /by <date-time>`

### Mark as Complete: `done`
When you have finished a task, you can mark it as complete. It will be displayed on your list with a tick.
The task to mark as complete is **specified by its index number in integer form**

Format: `done <index>`

### Delete task: `delete`
Removed a task completely from your list.
The task to delete is **specified by its index number in integer form**

Format: `delete <index>`

### Set task duration: `duration`
Set a duration for a particular task in your list.
The task to set duration for is **specified by its index number in integer form**
The duration can be enter in any string format.

Format: `duration <index> <duration>`

### Search for a task: `find`
Find a particular task in your list using a keyword.
The keyword can be in any string format.

Format: `find <keyword>`

---
# FAQ
##### Q. Will my list be saved after I close Eu Zin's Duke?
##### A: Yes it will be saved and loaded when you reopen Eu Zin's Duke.

---
# Command Summary

| Action | Format |
| ------ | ------ |
| Add todo | Format: `todo <description>` |
| Add event | Format: `event <description> /at <timeframe>`|
| Add deadline | Format: `deadline <description> /by <date-time>` |
| Mark as Complete | Format: `done <index>` |
| Delete Task | Format: `delete <index>` |
| Search for Task | Format: `find <keyword>` |
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.
1 change: 1 addition & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
theme: jekyll-theme-slate
Binary file added docs/done.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 docs/start.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.
6 changes: 6 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Tue Sep 01 23:06:27 SGT 2020
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
Loading