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

[Zhu Le Yao] iP #414

Open
wants to merge 52 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
556af3f
Add Gradle support
May 24, 2020
55cebd9
Add skeletal version of Duke
ZhuLeYao Feb 5, 2023
2a7c671
Add list to store text entered by user
ZhuLeYao Feb 6, 2023
03fbf9b
Revert "Add list to store text entered by user"
ZhuLeYao Feb 6, 2023
09fcc0c
Add list to store text entered by user
ZhuLeYao Feb 6, 2023
b5d3ce2
Add option to mark tasks and Task class
ZhuLeYao Feb 7, 2023
0035506
Add task types: Todo, Deadline and Event
ZhuLeYao Feb 7, 2023
b5e1e00
Add exceptions to task commands
ZhuLeYao Feb 7, 2023
2008de1
Add function to delete a task
ZhuLeYao Feb 7, 2023
70feaa9
Fix time to be read as date time instead of string
ZhuLeYao Feb 9, 2023
441456a
Add save task list to hard disk function
ZhuLeYao Feb 9, 2023
98df06b
Merge branch 'branch-level-7'
ZhuLeYao Feb 12, 2023
e5a768c
Remove print lines for debugging
ZhuLeYao Feb 12, 2023
909e8e0
Update git ignore list
ZhuLeYao Feb 12, 2023
6025774
Merge branch 'branch-level-8'
ZhuLeYao Feb 12, 2023
bdac24c
Edit data time format of task saved to hard disk
ZhuLeYao Feb 12, 2023
3172b9d
Add command to find deadlines or events on date
ZhuLeYao Feb 12, 2023
81d434a
Move exception methods from Duke to DukeException
ZhuLeYao Feb 12, 2023
d91abba
Refactor the code to extract out closely related code as classes
ZhuLeYao Feb 16, 2023
35b7277
Divide classes into packages
ZhuLeYao Feb 17, 2023
a21fea9
Merge branch 'add-gradle-support'
ZhuLeYao Feb 17, 2023
81658cd
Add JUnit tests for Todo and TaskList
ZhuLeYao Feb 20, 2023
cc98e9e
Package the App as a JAR file
ZhuLeYao Feb 20, 2023
2ad5871
Add JavaDoc comments
ZhuLeYao Feb 20, 2023
3c4cd7d
Tweak the code to comply with a coding standard
ZhuLeYao Feb 20, 2023
a081d94
Add function for users to find a task by searching for a keyword
ZhuLeYao Feb 20, 2023
c5a2e16
Merge branch 'branch-A-JavaDoc'
ZhuLeYao Feb 20, 2023
bb5df21
Merge branch 'branch-A-CodingStandard'
ZhuLeYao Feb 20, 2023
8f8d7d2
Merge branch 'branch-Level-9'
ZhuLeYao Feb 20, 2023
94259dd
Update JavaDoc comments for duke.main package
ZhuLeYao Feb 20, 2023
5e7d440
Update JavaDoc comments for duke.task package
ZhuLeYao Feb 20, 2023
2047ab4
Update JavaDoc comments for duke.exception package
ZhuLeYao Feb 20, 2023
f6091ea
Create GUi for Duke
ZhuLeYao Feb 22, 2023
74ae1f0
Remove border lines from Ui
ZhuLeYao Feb 22, 2023
50b766b
Edit ShadowJar values
ZhuLeYao Feb 22, 2023
34c226e
Merge branch 'branch-Level-10'
ZhuLeYao Feb 22, 2023
a962e4b
Add Assertions for assumptions in main
ZhuLeYao Feb 23, 2023
7af212d
Modify git.ignore to allow ACTUAL.TXT
ZhuLeYao Feb 23, 2023
eadcc8a
Improve code quality
ZhuLeYao Feb 23, 2023
b766be6
Merge pull request #2 from ZhuLeYao/branch-A-Assertions
ZhuLeYao Feb 23, 2023
a86c23a
Merge branch 'master' of github.com:ZhuLeYao/ip
ZhuLeYao Feb 23, 2023
97912f0
Merge pull request #3 from ZhuLeYao/branch-A-CodeQuality
ZhuLeYao Feb 23, 2023
b2cfd05
Merge branch 'master' of github.com:ZhuLeYao/ip
ZhuLeYao Feb 23, 2023
99bac14
Add a way to archive items
ZhuLeYao Feb 23, 2023
b39df94
Merge branch 'branch-BCD-Extension'
ZhuLeYao Feb 23, 2023
daeeed6
Add Ui image and update README.md
ZhuLeYao Feb 23, 2023
cbb483e
Add images into README.md
ZhuLeYao Feb 23, 2023
fcc5170
Format README.md
ZhuLeYao Feb 23, 2023
2a9e367
Format README.md
ZhuLeYao Feb 23, 2023
387cb45
Edit boolean naming of isMarked
ZhuLeYao Feb 23, 2023
cad8d37
Correct archive saving mechanism
ZhuLeYao Feb 23, 2023
e9e2226
Abstract long methods
ZhuLeYao Mar 20, 2023
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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ src/main/resources/docs/
*.iml
bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
duke.txt
tasks.txt
3 changes: 3 additions & 0 deletions META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: duke.main.Duke

56 changes: 56 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
plugins {
id 'java'
id 'application'
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.main.Launcher"
}

shadowJar {
archiveBaseName = "duke.main.Launcher"
archiveClassifier = null
}

run{
standardInput = System.in
}
38 changes: 38 additions & 0 deletions data/archive.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
T / [ ] / a
D / [ ] / b / Jan 01 2022 1800 PM
E / [ ] / read book / Jan 01 2020 1800 PM-Jan 01 2020 2000 PM
T / [ ] / d
D / [ ] / b / Jan 01 2022 1800 PM
T / [ ] / a
T / [ ] / b
T / [ ] / c
D / [ ] / / Jan 01 2020 1800 PM
T / [ ] / a
T / [ ] / b
T / [ ] / c
T / [ ] / e
T / [ ] / a
T / [ ] / b
T / [ ] / c
E / [ ] / f / Jan 01 2020 1800 PM-Jan 01 2020 2000 PM
T / [ ] / a
T / [ ] / b
T / [ ] / c
T / [ ] / a
T / [ ] / b
T / [ ] / c
T / [ ] / a
T / [ ] / b
T / [ ] / c
T / [ ] / a
T / [ ] / b
T / [ ] / a
T / [ ] / b
T / [ ] / a
T / [ ] / b
T / [ ] / a
T / [ ] / b
T / [ ] / a
T / [ ] / b
T / [ ] / a
T / [ ] / b
3 changes: 3 additions & 0 deletions data/archiveAll.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
E / [ ] / f / Jan 01 2020 1800 PM-Jan 01 2020 2000 PM
null
null
Binary file added docs/README IMAGES/archive.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/README IMAGES/deadline.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/README IMAGES/delete.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/README IMAGES/event.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/README IMAGES/find.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/README IMAGES/list.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/README IMAGES/mark.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/README IMAGES/showdeadlinesoreventson.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/README IMAGES/todo.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/README IMAGES/unmark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
115 changes: 101 additions & 14 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,116 @@
# User Guide
# Welcome to Duke

>App that helps you to manage daily tasks e.g. deadlines, events, to do lists.

## Environment settings
This app requires Java version 11.

You can go to your terminal and cd into the directory you downloaded the app into.
```
java -jar duke.jar
```
## Features
1. Add a todo, deadline, or event task.
2. Delete a task.
3. Mark/ unmark a task as done.
4. Archive your tasks.
5. Search your tasks by keyword.
6. Find out what tasks are happening/ due on a certain day.

## Usage

### `Keyword` - Describe action

### Feature-ABC
### `todo {description}` - Adds a Todo task
Example of usage:

Description of the feature.
`todo read book`

### Feature-XYZ
Expected outcome:

Description of the feature.
![todo](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/todo.png?raw=true)
### `deadline {description} /by {deadline date}` - Adds a Deadline task
Example of usage:

## Usage
`deadline read book /by 2020-01-01 1800`

### `Keyword` - Describe action
Expected outcome:

Describe the action and its outcome.
![deadline](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/deadline.png?raw=true)

Example of usage:
### `event {description} /from {event start time} /to {event end time}` - Adds an event task
Example of usage:

`keyword (optional arguments)`
`event read book /from 2020-01-01 1800 /to 2020-01-01 2000`

Expected outcome:

Description of the outcome.
![event](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/event.png?raw=true)

### `mark {index of task}` - Marks a task as done
Example of usage:

`mark 1`

Expected outcome:

![mark](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/mark.png?raw=true)

### `unmark {index of task}` - Unmarks a task
Example of usage:

`unmark 1`

Expected outcome:

![unmark](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/unmark.png?raw=true)

### `delete {index of task}` - Deletes a task
Example of usage:

`delete 1`

Expected outcome:

![delete](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/delete.png?raw=true)

### `find {description}` - Finds tasks containing description
Example of usage:

`find book`

Expected outcome:

![find](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/find.png?raw=true)

### `show deadlines or events on {date}` - Shows tasks happening on specified date
Example of usage:

`show deadlines or events on 2020-01-01`

Expected outcome:

![show](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/showdeadlinesoreventson.png?raw=true)

### `archive` - Archives current list of tasks into archiveAll.txt
note: archive.txt contains all historical tasks.
Example of usage:

`archive`

Expected outcome:

![archive](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/archive.png?raw=true)

### `list` - Shows current list of tasks
Example of usage:

`list`

Expected outcome:

![list](https://github.com/ZhuLeYao/ip/blob/master/docs/README%20IMAGES/list.png?raw=true)

### `bye` - Stops the app


```
expected output
```
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-6.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading