forked from nus-cs2113-AY2425S1/ip
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
70 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,70 @@ | ||
# 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 | ||
____ _ | ||
| _ \ _ _| | _____ | ||
| | | | | | | |/ / _ \ | ||
| |_| | |_| | < __/ | ||
|____/ \__,_|_|\_\___| | ||
``` | ||
# JEFF Task Chatbot | ||
|
||
**JEFF** is a temperamental Java chatbot who (begrudgingly) keeps track of your tasks! | ||
|
||
## Getting Started with IntelliJ | ||
|
||
**Prerequisites:** JDK 17 and the latest version of IntelliJ IDEA. | ||
|
||
### Setting Up the Project | ||
1. **Open IntelliJ IDEA**: | ||
- If you’re not on the welcome screen, click `File` > `Close Project` to close any existing project first. | ||
|
||
2. **Open the Project**: | ||
- Click `Open`. | ||
- Select the project directory and click `OK`. | ||
- Accept any further prompts with the default options. | ||
|
||
3. **Configure JDK**: | ||
- Set up the project to use **JDK 17** as explained [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk). | ||
- Set the **Project language level** field to `SDK default`. | ||
|
||
4. **Run JEFF**: | ||
- Locate `src/main/java/Jeff.java`. | ||
- Right-click the file and select `Run Jeff.main()` (if you see compile errors, try restarting the IDE). | ||
- If set up correctly, you should see JEFF’s initial output in the console. | ||
|
||
## How to Use JEFF | ||
|
||
JEFF can manage three types of tasks: | ||
|
||
### Task Types | ||
1. **Todo**: | ||
- **Purpose**: Tracks non-time-sensitive tasks. | ||
- **Command**: `todo [description]` | ||
|
||
2. **Deadline**: | ||
- **Purpose**: Tracks tasks due by a specific date. | ||
- **Command**: `deadline [description] /by [yyyy-MM-dd]` | ||
|
||
3. **Event**: | ||
- **Purpose**: Tracks tasks happening within a specific date range. | ||
- **Command**: `event [description] /from [yyyy-MM-dd] /to [yyyy-MM-dd]` | ||
|
||
### Commands Overview | ||
You can manipulate or view your tasks using the following commands: | ||
|
||
1. **List Tasks**: | ||
- **Purpose**: Displays all tasks you've added. | ||
- **Command**: `list` | ||
- **Example Output**: | ||
``` | ||
1. [D][ ] Finish homework (by: Aug 9 1990) | ||
``` | ||
2. **Mark/Unmark Tasks**: | ||
- **Purpose**: Mark a task as done or undone. | ||
- **Commands**: | ||
- `mark [task index]` | ||
- `unmark [task index]` | ||
- **Example Output**: | ||
- `Marked task: [D][X] Finish homework (by: Aug 9 1990)` | ||
- `Unmarked task: [D][ ] Finish homework (by: Aug 9 1990)` | ||
3. **Delete a Task**: | ||
- **Purpose**: Removes a task from your list. | ||
- **Command**: `delete [task index]` | ||
## Data Storage | ||
JEFF automatically saves your tasks to a text file located in the `data` folder. **Note**: Please do not manually edit the text file, as incorrect formatting may cause data loss. |