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

[Vanessa] iP #314

Open
wants to merge 51 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
d839859
Add Gradle support
May 24, 2020
253e8b0
level1-gary
Jan 23, 2022
3427794
level2-gary
Jan 23, 2022
e6d31a7
level3-gary
Jan 24, 2022
9dbe82d
Level4-gary
Jan 24, 2022
be1a567
Level5-gary
Jan 24, 2022
3ec0b1a
Level6-Gary
Jan 24, 2022
0f521e8
add memory feature in branch-Level-7
vanessaxuuan Feb 2, 2022
8f52035
add dates and times
vanessaxuuan Feb 7, 2022
8e8980b
Merge branch 'branch-Level-8'
vanessaxuuan Feb 7, 2022
2c96f56
use more OOP by extracting classes
vanessaxuuan Feb 9, 2022
733ba9a
divide classes into packages
vanessaxuuan Feb 9, 2022
4aa2a9e
add JUnit tests
vanessaxuuan Feb 9, 2022
54cd499
add JavaDoc comments
vanessaxuuan Feb 10, 2022
57426c5
Add JavaDoc comments to test classes
vanessaxuuan Feb 10, 2022
95693f5
Add JavaDoc comments
vanessaxuuan Feb 10, 2022
76d36c7
Follow the Coding Standard
vanessaxuuan Feb 10, 2022
8d822c0
Add a method to find a task by searching for a keyword
vanessaxuuan Feb 10, 2022
a30df56
rebase
vanessaxuuan Feb 10, 2022
2fa50d7
Update IP description
vanessaxuuan Feb 13, 2022
d48749e
Merge branch 'master' of https://github.com/vanessaxuuan/ip
vanessaxuuan Feb 13, 2022
9095cf4
Merge commit 'd8398594b7bc43da5eb865321c5a50cec4b3923d'
vanessaxuuan Feb 16, 2022
06be999
Set up gradle
vanessaxuuan Feb 16, 2022
35b7840
Add GUI to Gary
vanessaxuuan Feb 19, 2022
8315ecb
Add GUI to Gary
vanessaxuuan Feb 19, 2022
3aea752
Add FXML files
vanessaxuuan Feb 19, 2022
714e529
Integrate FXML into GUI for Gary
vanessaxuuan Feb 19, 2022
0bccd26
Add assert features to document important assumptions
vanessaxuuan Feb 20, 2022
3199aad
Rename packages
vanessaxuuan Feb 20, 2022
71183f3
Improve code quality
vanessaxuuan Feb 20, 2022
3d78dc3
Merge pull request #3 from vanessaxuuan/branch-A-CodeQuality
vanessaxuuan Feb 20, 2022
b76a2d5
Merge branch 'master' of https://github.com/vanessaxuuan/ip
vanessaxuuan Feb 20, 2022
6389773
Resolve merge conflicts with master branch
vanessaxuuan Feb 20, 2022
f260392
Merge pull request #2 from vanessaxuuan/branch-A-Assertions
vanessaxuuan Feb 20, 2022
5bd4d38
Merge branch 'master' of https://github.com/vanessaxuuan/ip
vanessaxuuan Feb 20, 2022
bbdb6ff
Update JavaDocs
vanessaxuuan Feb 20, 2022
fd09a66
Finalize GUI
vanessaxuuan Feb 20, 2022
9587526
Merge branch 'branch-better-GUI'
vanessaxuuan Feb 20, 2022
99e35f2
Add a representative screenshot of Gary
vanessaxuuan Feb 20, 2022
ccee2a0
Add User Guide
vanessaxuuan Feb 20, 2022
b7b8d31
Update README.md
vanessaxuuan Feb 20, 2022
fea6ca1
Update User Guide
vanessaxuuan Feb 20, 2022
7d58559
Update README.md
vanessaxuuan Feb 20, 2022
196330e
Update README.md
vanessaxuuan Feb 20, 2022
6637131
Update README.md
vanessaxuuan Feb 20, 2022
02f6bbd
Update README.md
vanessaxuuan Feb 20, 2022
fa0b705
Update README.md
vanessaxuuan Feb 20, 2022
de0f6b7
Merge branch 'master' of https://github.com/vanessaxuuan/ip
vanessaxuuan Feb 20, 2022
4e6a065
Create Jar file
vanessaxuuan Feb 21, 2022
e07b092
update jar file
vanessaxuuan Apr 14, 2022
4d9ff92
update README.md
vanessaxuuan Apr 15, 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
56 changes: 32 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,32 @@
# 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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
# GARY

> "Get busy living or get busy dying." - Stephen King [source](https://atlasmedstaff.com/adventures-in-nursing/get-busy-living-or-get-busy-dying/)

Gary frees your mind of having to remember things you need to do. It's,

* text-based
* easy to learn
* ~~FAST~~ SUPER FAST to use

All you need to do is,

1. download it from [here.](https://github.com/vanessaxuuan/ip/releases/download/A-Release/ip-all.jar)
2. double-click it.
3. add your tasks.
4. let it manage your tasks for you 😉

**And it is FREE!**

Features:
- [x] Managing tasks
- [x] Managing deadlines (coming soon)
- [ ] Reminders (coming soon)

If you Java programmer, you can use it to practice Java too. Here's the **main** method:
```
public class Main {
public static void main(String[] args) {
new Gary("./filepath).run();
}
}
```
70 changes: 70 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
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 = "gary.Launcher"
}

//shadowJar {
// archiveBaseName = "Launcher"
// archiveClassifier = null
//}

jar {
manifest {
attributes(
'Main-Class': 'gary.Launcher'
)
}
}

//checkstyle {
// toolVersion = '8.29'
//}

run{
enableAssertions = true
standardInput = System.in
}
99 changes: 87 additions & 12 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,104 @@
# User Guide
Gary is a desktop app for managing your daily to-do lists, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).

## Features
1. [Adding tasks](https://github.com/vanessaxuuan/ip/blob/master/docs/README.md#adding-tasks): task_type
2. [Deleting tasks](https://github.com/vanessaxuuan/ip/blob/master/docs/README.md#deleting-tasks): delete
3. [Finding related tasks](https://github.com/vanessaxuuan/ip/blob/master/docs/README.md#finding-related-tasks): find
4. [Listing out tasks](https://github.com/vanessaxuuan/ip/blob/master/docs/README.md#listing-out-tasks): list
5. [Viewing help](https://github.com/vanessaxuuan/ip/blob/master/docs/README.md#viewing-help): help
6. [Marking tasks](https://github.com/vanessaxuuan/ip/blob/master/docs/README.md#marking-and-un-marking-tasks): mark
7. [Interactions](https://github.com/vanessaxuuan/ip/blob/master/docs/README.md#interactions)

### Feature-ABC

Description of the feature.
### 1. Adding Tasks

### Feature-XYZ
##### Adding different types of Task to your to-do list:

Description of the feature.
1. ToDo:

## Usage
```
[todo task_name] e.g. todo errands
```

2. Event

```
[event name / dd-mm-yyyy,hhmm] e.g. event party / 25-03-2022,2359
```

3. Deadline

```
[deadline name / dd-mm-yyyy,hhmm] e.g. deadline lab4 / 05-12-2022,1400
```

### 2. Deleting Tasks

##### Delete Task(s)

```
[delete index ...] e.g. delete 5 3 1 or delete 5
```
note: to delete multiple tasks at the same time, enter index in descending order

##### Delete all Tasks

```
[refresh]
```

### 3. Finding related Tasks
```
[find keyword] e.g. find assignment
```

Output: A lists of tasks containing the keyword


### 4. Listing out Tasks
```
[list]
```
Output: Current to-do list


### 5. Viewing Help
```
[help]
```
Output: command summary

### `Keyword` - Describe action

Describe the action and its outcome.
### 6. Marking and un-marking Tasks

Example of usage:
##### Mark task(s) as done

```
[mark index ...] e.g. mark 1 4 2
```
note: can mark multiple tasks at the same time

outcome: e.g. T[X] errands


##### Mark task(s) as not done

```
[unmark index ...] e.g. unmark 1 5 2
```
note: can un-mark multiple tasks at the same time

`keyword (optional arguments)`
outcome: e.g. T[ ] errands

Expected outcome:

Description of the outcome.
### 7. Interactions

Input:
```
expected output
1. hi
2. hello
3. hey
4. bye
```
#### Try out these inputs to interact with Gary! 😉
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.
4 changes: 4 additions & 0 deletions gary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
1. T[ ] groceries
2. E[ ] birthday on: 19 Dec 2022 23:59 pm
3. D[ ] assignment by: 01 Mar 2022 14:00 pm
4. T[ ] run
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