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

[andreusxcarvalho] iP #108

Open
wants to merge 36 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
7b016a1
Updated chatbot name and greeting
andreusxcarvalho Aug 30, 2024
cc70201
Added echo function
andreusxcarvalho Aug 30, 2024
c032aff
List addition and viewing
andreusxcarvalho Aug 30, 2024
f4e5850
Added MarkAsDone functionality for list
andreusxcarvalho Aug 31, 2024
6599748
Amend code to comply with coding standards
andreusxcarvalho Aug 31, 2024
1117248
Add ToDo,Deadline,Event Functionality
andreusxcarvalho Sep 4, 2024
f6c8136
Improve Code Quality
andreusxcarvalho Sep 4, 2024
bc5cfc5
refactor code to multiple class files
andreusxcarvalho Sep 10, 2024
b63f451
add error-handling
andreusxcarvalho Sep 10, 2024
2fb4a59
Merged 'branch-Level-5' into 'master' to add the Level-5 functionality.
andreusxcarvalho Sep 11, 2024
5da18af
Add delete functionality
andreusxcarvalho Sep 12, 2024
209ab65
Completed Level-7
andreusxcarvalho Sep 18, 2024
ae9fdba
Merge branch 'branch-Level-6'
andreusxcarvalho Sep 18, 2024
3bbb7e6
Merge branch 'branch-Level-7'
andreusxcarvalho Sep 18, 2024
d29c75c
Updated .gitignore to ignore JAR files
andreusxcarvalho Oct 4, 2024
2b989dd
Completed A-MoreOOP increment
andreusxcarvalho Oct 4, 2024
f6b78eb
Implement Level-9: Find feature
andreusxcarvalho Oct 4, 2024
45f0d28
Merge pull request #1 from andreusxcarvalho/Level-9
andreusxcarvalho Oct 4, 2024
5525c53
Added Javadoc comments to all relevant classes
andreusxcarvalho Oct 4, 2024
ac5fa81
Merge pull request #2 from andreusxcarvalho/javadoc-branch
andreusxcarvalho Oct 4, 2024
159670b
Update README.md
andreusxcarvalho Oct 4, 2024
d7f22ce
Update README.md
andreusxcarvalho Oct 5, 2024
afd9469
Update README.md
andreusxcarvalho Oct 5, 2024
c5fba1d
Update README.md
andreusxcarvalho Oct 5, 2024
0ef9fe0
Update README.md
andreusxcarvalho Oct 5, 2024
fe17895
Update README.md
andreusxcarvalho Oct 5, 2024
15d2a7c
Update README.md
andreusxcarvalho Oct 5, 2024
8ef9d8d
Update README.md
andreusxcarvalho Oct 5, 2024
fddddfb
Update README.md
andreusxcarvalho Oct 5, 2024
f83bfa5
Update README.md
andreusxcarvalho Oct 5, 2024
3aefa9b
Update README.md
andreusxcarvalho Oct 23, 2024
b09cdf1
fix bugs from peer review
andreusxcarvalho Oct 23, 2024
3c6d399
Merge remote-tracking branch 'origin/master'
andreusxcarvalho Oct 23, 2024
6299cc7
Update User Guide
andreusxcarvalho Oct 23, 2024
6da9289
Fix nesting and long methods issue
andreusxcarvalho Oct 26, 2024
70dd352
Edit user guide
andreusxcarvalho Oct 26, 2024
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
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ src/main/resources/docs/
.DS_Store
*.iml
bin/
loo
# Ignore generated JAR files
/out/artifacts/

# Ignore test files
/text-ui-test/ACTUAL.TXT
text-ui-test/EXPECTED-UNIX.TXT
/text-ui-test/EXPECTED-UNIX.TXT
193 changes: 169 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,169 @@
# 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 17, 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 17** (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
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```


# Andy Bot

Welcome to **Andy Bot**, your personal assistant to manage tasks, deadlines, and events effortlessly. Andy helps you keep track of all your tasks with an easy-to-use interface, and all your inputs are stored safely so you never lose track of important tasks.

## Overview

Andy Bot is designed to help you stay on top of your task management. You can add, delete, and mark tasks as done, as well as search for specific tasks in your list. Andy supports three types of tasks: ToDo, Deadline, and Event tasks.

### Task Types
- **ToDo**: Task with just a name.
- **Deadline**: Task with a name and a deadline.
- **Event**: Task with a name, start time, and end time.

### Storage
Andy stores all your tasks in a file called **andy.txt** located in the `data` directory. If the file doesn't exist, Andy will automatically create it for you when you first run the application.

## Running Andy Bot
### Prerequisites:
- Java version 11 or higher installed
- Latest JAR file of Andy Bot

### Steps to Run:
1. Open your terminal or command prompt.
2. Change directory to the location where the JAR file is stored.
3. Run the command:
```bash
java -jar andy.jar.jar

To exit the application, simply type `bye`.

## Features

### 1. List All Tasks
**Command**: `list`

Displays all tasks in the current list.

### 2. Add a ToDo Task
**Command**: `todo NAME`

Adds a task with the specified name.

**Example**:
```
todo Complete CS2103T project
```

**Expected Outcome**:
```
Added: Complete CS2103T project
```

### 3. Add a Deadline Task
**Command**: `deadline NAME /by DEADLINE`

Adds a task with a specified deadline.

**Example**:
```
deadline Submit report /by 2024-10-11
```

**Expected Outcome**:
```
Added: Submit report (by: 2024-10-11)
```

### 4. Add an Event Task
**Command**: `event NAME /from START /to END`

Adds an event task with a start and end time.

**Example**:
```
event Project meeting /from 2024-10-10 2PM /to 2024-10-10 4PM
```

**Expected Outcome**:
```
Added: Project meeting (from: 2024-10-10 2PM to 2024-10-10 4PM)
```

### 5. Mark a Task as Done
**Command**: `mark INDEX`

Marks a task at the specified index as done.

**Example**:
```
mark 1
```

**Expected Outcome**:
```
Nice! I've marked this task as done:
[X] Complete CS2103T project
```

### 6. Unmark a Task
**Command**: `unmark INDEX`

Marks a task at the specified index as not done.

**Example**:
```
unmark 1
```

**Expected Outcome**:
```
OK, I've marked this task as not done yet:
[ ] Complete CS2103T project
```

### 7. Delete a Task
**Command**: `delete INDEX`

Deletes the task at the specified index.

**Example**:
```
delete 1
```

**Expected Outcome**:
```
Deleted: Complete CS2103T project
```

### 8. Find Tasks by Keyword
**Command**: `find KEYWORD`

Finds and displays all tasks that match the specified keyword.

**Example**:
```
find project
```

**Expected Outcome**:
```
Here are the matching tasks in your list:
1. [T][ ] Complete CS2103T project
```

### 9. Exit the Application
**Command**: `bye`

Closes Andy Bot and saves your tasks.

**Example**:

```
bye
```

**Expected Outcome**
```
Bye. Hope to see you again soon!
```







6 changes: 6 additions & 0 deletions data/andy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
T | 1 | 1
T | 1 | ..
T | 0 | 3
T | 0 | 22
T | 0 | 5
T | 0 | 5
165 changes: 151 additions & 14 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,167 @@
# Duke User Guide
# Andy Bot

// Update the title above to match the actual product name
Welcome to **Andy Bot**, your personal assistant to manage tasks, deadlines, and events effortlessly. Andy helps you keep track of all your tasks with an easy-to-use interface, and all your inputs are stored safely so you never lose track of important tasks.

// Product screenshot goes here
## Overview

// Product intro goes here
Andy Bot is designed to help you stay on top of your task management. You can add, delete, and mark tasks as done, as well as search for specific tasks in your list. Andy supports three types of tasks: ToDo, Deadline, and Event tasks.

## Adding deadlines
### Task Types
- **ToDo**: Task with just a name.
- **Deadline**: Task with a name and a deadline.
- **Event**: Task with a name, start time, and end time.

// Describe the action and its outcome.
### Storage
Andy stores all your tasks in a file called **andy.txt** located in the `data` directory. If the file doesn't exist, Andy will automatically create it for you when you first run the application.

// Give examples of usage
## Running Andy Bot
### Prerequisites:
- Java version 11 or higher installed
- Latest JAR file of Andy Bot

Example: `keyword (optional arguments)`
### Steps to Run:
1. Open your terminal or command prompt.
2. Change directory to the location where the JAR file is stored.
3. Run the command:
```bash
java -jar Andy.jar

// A description of the expected outcome goes here
To exit the application, simply type `bye`.

## Features

### 1. List All Tasks
**Command**: `list`

Displays all tasks in the current list.

### 2. Add a ToDo Task
**Command**: `todo NAME`

Adds a task with the specified name.

**Example**:
```
todo Complete CS2103T project
```

**Expected Outcome**:
```
Added: Complete CS2103T project
```

### 3. Add a Deadline Task
**Command**: `deadline NAME /by DEADLINE`

Adds a task with a specified deadline.

**Example**:
```
deadline Submit report /by 2024-10-11
```

**Expected Outcome**:
```
Added: Submit report (by: 2024-10-11)
```
expected output

### 4. Add an Event Task
**Command**: `event NAME /from START /to END`

Adds an event task with a start and end time.

**Example**:
```
event Project meeting /from 2024-10-10 2PM /to 2024-10-10 4PM
```

**Expected Outcome**:
```
Added: Project meeting (from: 2024-10-10 2PM to 2024-10-10 4PM)
```

### 5. Mark a Task as Done
**Command**: `mark INDEX`

Marks a task at the specified index as done.

**Example**:
```
mark 1
```

**Expected Outcome**:
```
Nice! I've marked this task as done:
[X] Complete CS2103T project
```

### 6. Unmark a Task
**Command**: `unmark INDEX`

Marks a task at the specified index as not done.

**Example**:
```
unmark 1
```

**Expected Outcome**:
```
OK, I've marked this task as not done yet:
[ ] Complete CS2103T project
```

### 7. Delete a Task
**Command**: `delete INDEX`

Deletes the task at the specified index.

**Example**:
```
delete 1
```

**Expected Outcome**:
```
Deleted: Complete CS2103T project
```

### 8. Find Tasks by Keyword
**Command**: `find KEYWORD`

Finds and displays all tasks that match the specified keyword.

**Example**:
```
find project
```

**Expected Outcome**:
```
Here are the matching tasks in your list:
1. [T][ ] Complete CS2103T project
```

### 9. Exit the Application
**Command**: `bye`

Closes Andy Bot and saves your tasks.

**Example**:

```
bye
```

**Expected Outcome**
```
Bye. Hope to see you again soon!
```



## Feature ABC

// Feature details


## Feature XYZ

// Feature details
Loading