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

[Yeon Jeho] iP #71

Open
wants to merge 61 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
94a4a19
Complete Level-0
ICubE- Aug 19, 2023
bb8421b
Rename class file & Customize answers
ICubE- Aug 26, 2023
df853c8
Complete Level-1
ICubE- Aug 26, 2023
26a3cd9
Complete Level-2
ICubE- Aug 26, 2023
b40af3a
Complete Level-3
ICubE- Aug 26, 2023
8f23d37
Refactor for clean code
ICubE- Aug 26, 2023
68e19ab
Add toString() in Task
ICubE- Sep 5, 2023
7934bea
Update markTask() and unmarkTask()
ICubE- Sep 5, 2023
dda2a87
Complete Level-4
ICubE- Sep 5, 2023
3cd7157
Customize logo and minor stuffs
ICubE- Sep 5, 2023
ab7c348
Automate text ui testing (semi)
ICubE- Sep 5, 2023
7a931ef
Refactor to improve code quality
ICubE- Sep 5, 2023
75f4047
Apply peers' PR comments
ICubE- Sep 6, 2023
5f887e2
Fix parsing regex
ICubE- Sep 6, 2023
a613e5a
Complete Level-5
ICubE- Sep 9, 2023
1b7e33d
Provide input error details
ICubE- Sep 9, 2023
e558683
Refactor for clean code
ICubE- Sep 9, 2023
54e09f3
Fix minor error
ICubE- Sep 9, 2023
aa2850f
Update input.txt and EXPECTED.TXT
ICubE- Sep 9, 2023
d10e983
Merge branch 'branch-Level-5'
ICubE- Sep 9, 2023
31bd2ea
Organize classes into packages
ICubE- Sep 9, 2023
9da0899
Merge branch 'branch-A-Packages'
ICubE- Sep 9, 2023
080dfa1
Update runtest.bat to compile without errors
ICubE- Sep 15, 2023
53c43d4
Complete Level-6
ICubE- Sep 15, 2023
015b952
Update command type error detail
ICubE- Sep 15, 2023
c9c11b7
Add forbidden characters
ICubE- Sep 15, 2023
02afe6e
Rename Parser to CommandParser
ICubE- Sep 16, 2023
a9b7f1d
Complete Level-7
ICubE- Sep 16, 2023
8ac69e1
Fix exception handlers
ICubE- Sep 16, 2023
0804880
Merge branch 'branch-Level-6'
ICubE- Sep 16, 2023
f1fb8ce
Merge branch 'branch-Level-7'
ICubE- Sep 16, 2023
2c1d0db
Fix error by merge
ICubE- Sep 16, 2023
1e93e13
Update .gitignore
ICubE- Sep 16, 2023
d36601c
Update .gitignore
ICubE- Sep 16, 2023
c8e2d6d
Rename classes and packages
ICubE- Sep 19, 2023
6045b24
Change minor structure
ICubE- Sep 19, 2023
341c18f
Fix crucial storage error
ICubE- Sep 19, 2023
ba173fa
Make the code more OOP
ICubE- Sep 19, 2023
3e74a3b
Apply TA's PR comments
ICubE- Sep 19, 2023
7d860b1
Fix command type error detail
ICubE- Sep 20, 2023
056fcab
Update .gitignore
ICubE- Sep 20, 2023
1651817
Rename and remove some methods
ICubE- Sep 20, 2023
2cdf203
Rename some variables
ICubE- Sep 20, 2023
ff41ef8
Complete Level-9
ICubE- Sep 20, 2023
997db59
Update test case
ICubE- Sep 20, 2023
250bf61
Add NukeDateTime
ICubE- Sep 21, 2023
0d21b62
Add exception and minor format
ICubE- Sep 21, 2023
39e4000
Update NukeDateTime.java
ICubE- Sep 21, 2023
307adb3
Add JavaDoc comments
ICubE- Sep 21, 2023
fcfe9dc
Merge pull request #1 from ICubE-/branch-Level-8
ICubE- Sep 21, 2023
1f72675
Merge branch 'master' into branch-Level-9
ICubE- Sep 21, 2023
61e452d
Merge pull request #2 from ICubE-/branch-Level-9
ICubE- Sep 21, 2023
a8bf6b9
Merge branch 'master' into branch-A-JavaDoc
ICubE- Sep 21, 2023
5639125
Merge pull request #3 from ICubE-/branch-A-JavaDoc
ICubE- Sep 21, 2023
02b71e1
Change access modifiers of some variables
ICubE- Sep 21, 2023
5c4296f
Update JavaDoc
ICubE- Sep 21, 2023
fa8f273
Refactor TaskParser
ICubE- Sep 21, 2023
6e79886
Update JavaDoc
ICubE- Sep 30, 2023
5b2f391
Update README.md
ICubE- Sep 30, 2023
6fef454
Update README.md
ICubE- Sep 30, 2023
dd4fb3d
Update README.md
ICubE- Oct 6, 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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ bin/

/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
/data/
/text-ui-test/data/
85 changes: 61 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,61 @@
# 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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
# Nuke User Guide
Nuke is a desktop app for managing tasks using CLI (Command Line Interface).


## Features


### Exiting: `bye`

Exits program while saving the tasks on the file system.

Format: `bye`

### Adding a task: `todo`

Adds a task to the list.

Format: `todo <NAME>`

### Adding a task with a deadline: `deadline`

Adds a task with a deadline to the list.

Format: `deadline <NAME> /by <DEADLINE>`

### Adding an event: `event`

Adds an event to the list.

Format: `event <NAME> /from <START> /to <END>`

### Viewing all tasks: `list`

Shows a list of tasks in the list.

Format: `list`

### Marking a task as done: `mark`

Marks a task as done.

Format: `mark <INDEX>`

### Marking a task as not done: `unmark`

Marks a task as not done.

Format: `unmark <INDEX>`

### Deleting a task: `delete`

Deletes a task in the list.

Format: `delete <INDEX>`

### Finding a task by keyword: `find`

Finds a task in the list by a keyword.

Format: `find <KEYWORD>`

189 changes: 179 additions & 10 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,198 @@
# User Guide
Nuke is a desktop app for managing tasks using CLI (Command Line Interface).

## Features

### Feature-ABC
### Exiting: `bye`

Description of the feature.
Exits program while saving the tasks on the file system.

### Feature-XYZ
### Adding a task: `todo`

Adds a task to the list.

### Adding a task with a deadline: `deadline`

Adds a task with a deadline to the list.

### Adding an event: `event`

Adds an event to the list.

### Viewing all tasks: `list`

Shows a list of tasks in the list.

### Marking a task as done: `mark`

Marks a task as done.

### Marking a task as not done: `unmark`

Marks a task as not done.

### Deleting a task: `delete`

Deletes a task in the list.

### Finding a task by keyword: `find`

Finds a task in the list by a keyword.

Description of the feature.

## Usage

### `Keyword` - Describe action
### `bye` - Exits program

Exits program while saving the tasks on the file system.

Example of usage:

`bye`

Expected outcome:

```
[@] Bye. Hope to see you again soon!
```

### `todo` - Adds a task

Adds a task to the list.

Example of usage:

`todo <NAME>`

Expected outcome:

If input is `todo read book`,

```
[@] Got it. I've added this task:
[T][ ] read book
[@] Now you have 1 task in the list.
```

### `deadline` - Adds a task with a deadline

Adds a task with a deadline to the list.

Example of usage:

`deadline <NAME> /by <DEADLINE>`

Expected outcome:

If input is `deadline return book /by June 6th`,

```
[@] Got it. I've added this task:
[D][ ] return book (by: June 6th)
[@] Now you have 2 tasks in the list.
```

### `event` - Adds an event

Adds an event to the list.

Example of usage:

`event <NAME> /from <START> /to <END>`

Expected outcome:

If input is `event project meeting /from Aug 6th 2pm /to 4pm`,

```
[@] Got it. I've added this task:
[E][ ] project meeting (from: Aug 6th 2pm to: 4pm)
[@] Now you have 3 tasks in the list.
```

### `list` - Views all tasks

Shows a list of tasks in the list.

Example of usage:

`list`

Expected outcome:

```
[@] Here are the tasks in your list:
1.[T][ ] read book
2.[D][ ] return book (by: June 6th)
3.[E][ ] project meeting (from: Aug 6th 2pm to: 4pm)
```

### `mark` - Marks a task as done

Marks a task as done.

Example of usage:

`mark <INDEX>`

Expected outcome:

If input is `mark 1`,

```
[@] Nice! I've marked this task as done:
[T][X] read book
```

### `unmark` - Marks a task as not done

Marks a task as not done.

Example of usage:

`unmark <INDEX>`

Expected outcome:

If input is `unmark 3`,

```
[@] OK, I've marked this task as not done yet:
[E][ ] project meeting (from: Aug 6th 2pm to: 4pm)
```

### `delete` - Deletes a task

Deletes a task in the list.

Example of usage:

`delete <INDEX>`

Expected outcome:

If input is `delete 3`,

```
[@] Noted. I've removed this task:
[E][ ] project meeting (from: Aug 6th 2pm to: 4pm)
[@] Now you have 2 tasks in the list.
```

### `find` - Finds a task by keyword

Describe the action and its outcome.
Finds a task in the list by a keyword.

Example of usage:
Example of usage:

`keyword (optional arguments)`
`find <KEYWORD>`

Expected outcome:

Description of the outcome.
If input is `find book`,

```
expected output
[@] Here are the matching tasks in your list:
1.[T][X] read book
2.[D][ ] return book (by: June 6th)
```
10 changes: 0 additions & 10 deletions src/main/java/Duke.java

This file was deleted.

3 changes: 3 additions & 0 deletions src/main/java/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 0.1
Main-Class: nuke.Nuke

Loading