Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
bee5ee2
Level-1
NoorSarrah Jan 27, 2021
6456e44
Level-2
NoorSarrah Jan 29, 2021
6e1fbfd
Level-2
NoorSarrah Jan 29, 2021
1d11a54
Update code
NoorSarrah Feb 1, 2021
15d9389
resolved merge conflict
NoorSarrah Feb 1, 2021
0e12fff
test
NoorSarrah Feb 1, 2021
671e8f9
test_1
NoorSarrah Feb 1, 2021
1a893f8
Level-3
NoorSarrah Feb 1, 2021
654f6e4
A-Coding Standard
NoorSarrah Feb 1, 2021
2bd564b
Level - 4: ToDos, Events, Deadlines
NoorSarrah Feb 8, 2021
fdb778c
Alignment and indendation
NoorSarrah Feb 9, 2021
6f86639
FirstDraft_Level - 5
NoorSarrah Feb 14, 2021
9776c48
Level-6: Delete tasks function & ArrayList
NoorSarrah Feb 19, 2021
ab56607
Level-7: Saving & Uploading Data
NoorSarrah Feb 19, 2021
ab173cb
Merge branch 'branch-Level-6'
NoorSarrah Feb 19, 2021
8bdb63c
Merge branch 'branch-Level-7'
NoorSarrah Feb 19, 2021
19cb177
Merge branch 'branch-Level-5'
NoorSarrah Feb 19, 2021
a9abe0b
Changing magic numbers and strings
NoorSarrah Feb 25, 2021
5b23d1c
A-MoreOOP
NoorSarrah Mar 4, 2021
bc4f455
Level-9
NoorSarrah Mar 4, 2021
4e8c643
A-JavaDoc
NoorSarrah Mar 4, 2021
cac9d23
Merge pull request #1 from NoorSarrah/branch-Level-9
NoorSarrah Mar 4, 2021
eea0499
Merge branch 'master' into branch-A-JavaDoc
NoorSarrah Mar 4, 2021
0f9ebcc
Merge pull request #2 from NoorSarrah/branch-A-JavaDoc
NoorSarrah Mar 4, 2021
0a78e32
A-CodeQuality
NoorSarrah Mar 5, 2021
179da24
A-UserGuide
NoorSarrah Mar 5, 2021
17c7b91
A-UserGuide
NoorSarrah Mar 5, 2021
d702874
Merge branch 'master' of https://github.com/NoorSarrah/ip
NoorSarrah Mar 5, 2021
a7ea9dc
Final IP
NoorSarrah Mar 27, 2021
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
206 changes: 193 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,206 @@
# Duke project template
# Duke Project
----------------------------------------------------------------------------------------
#### By Noor Sarrah

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.
This program is named after Java mascot Duke.
Given below are the instructions on how to use it

## Setting up in Intellij
<a name = "table-of-contents"></a>
## Table of Contents
1. [Quick Start](#Quickstart)

Prerequisites: JDK 11, update IntelliJ to the most recent version.
1. [Setting up in Intellij](#SetUpIntellij)
1. [Setting up Duke](#SetUpDuke)

1. [Running Duke](#RunDuke)

### On IntelliJ version 2020.3.1 (latest) and beyond
1. [Command: **`todo <task name>`**](#todo)
2. [Command: **`deadline <task name> /by <...>`**](#deadline)
3. [Command: **`event <task name> /at <...>`**](#event)
4. [Command: **`done <task number>`**](#done)
5. [Command: **`list`**](list)
6. [Command: **`delete <task number>`**](#delete)
7. [Command: **`find <keywork in tasks>`**](#find)
8. [Command: **`bye`**](#bye)

1. [Command Summary](#Commandsummary)

<a name = "Quickstart"></a>
## Quick Start

<a name = "SetUpIntellij"></a>
### Setting up in Intellij
#### On IntelliJ version 2020.3.1 (latest) and beyond

1. Open IntelliJ (if you are not in the welcome screen, click `File` > `Close Project` to close the existing project first)
1. Import 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).
1. After that, locate the `src/main/java/Duke.java` file, right-click it, and choose `Run Duke.main()`. If the setup is correct, you should see something like the output below.

<a name = "SetUpDuke"></a>
### Setting up Duke
1. On the terminal, locate your home folder where you have saved the .jar file.

1. cd to change directory
1. ls to view files in the current directory

1. Once you have entered the home folder, type the following command: java -jar <name of .jar file>

1. You should see the Duke logo along with a welcome message. Duke is now ready to be used!
1. You would see this greeting message, for example:

```
Unable to access file at C:\Users\User\Desktop\ip final/duke.txt
To save your task locally,
A new file has been created at:
C:\Users\User\Desktop\ip final\duke.txt

Hello from
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|

--------------------------------------------------------------------------------
Hello! I'm Duke
What can I do for you?
--------------------------------------------------------------------------------
```
Hello from
____ _
| _ \ _ _| | _____
| | | | | | | |/ / _ \
| |_| | |_| | < __/
|____/ \__,_|_|\_\___|
```
Back to [Table of Contents](#table-of-contents)

<a name = "RunDuke"></a>
## Running Duke

<a name = "todo"></a>
i. Command: `todo <task name>`<br/>Adds a To-Do to your list<br/>[T] symbol represents To-Do task<br/>e.g. `todo read book`

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

```
Back to [Table of Contents](#table-of-contents)<br/>Back to [Command Summary](#Commandsummary)

<a name = "deadline"></a>
ii. Command `deadline <task name> /by <…>`<br/>Adds a Deadline to your list<br/>[D] symbol represents Deadline task<br/>Time should be stated inside <…><br/>e.g. `deadline finish homework /by 2pm Monday`

Output:
```
--------------------------------------------------------------------------------
Got it. I've added this task:
[D][ ] finish homework (by: 2pm Monday)
Now you have 2 tasks in the list.
--------------------------------------------------------------------------------

```
Back to [Table of Contents](#table-of-contents)<br/>Back to [Command Summary](#Commandsummary)

<a name = "event"></a>
iii. Command `event <task name> /at <…>`<br/>Adds an Event to your list<br/>[E] symbol represents Event task<br/>Time should be stated inside <…><br/>e.g. `event family dinner/at 5-6pm Saturday`

Output:
```
--------------------------------------------------------------------------------
Got it. I've added this task:
[E][ ] family dinner(at: 7-10pm Saturday)
Now you have 3 tasks in the list.
--------------------------------------------------------------------------------

```
Back to [Table of Contents](#table-of-contents)<br/>Back to [Command Summary](#Commandsummary)

<a name = "done"></a>
iv. Command `done <task number>`<br/>Marks task with <task number> in list as 'done'<br/>indicated by [X] in field beside task<br/>e.g. `done 2`

Output:
```
--------------------------------------------------------------------------------
Nice! I've marked this task as done:
[D][X] finish homework (by: 2pm Monday)
--------------------------------------------------------------------------------

```

Your *tasks.txt* file will look like this:
```
T --> --> be happy
D --> X --> finish homework --> 2pm Monday
E --> --> family dinner --> 7-10pm Saturday

```
Back to [Table of Contents](#table-of-contents)<br/>Back to [Command Summary](#Commandsummary)

<a name = "list"></a>
v. Command `list`<br/>Prints all the tasks along with dates and times<br/>e.g. `list`

Output:
```
--------------------------------------------------------------------------------
Here are the tasks in your list:
1. [T][ ] read book
2. [D][ ] finish homework(by: 2pm Monday)
3. [E][ ] book club(at: 11-12pm Tuesday)
4. [E][ ] family dinner(at: 7-10pm Saturday)
--------------------------------------------------------------------------------

```
Back to [Table of Contents](#table-of-contents)<br/>Back to [Command Summary](#Commandsummary)

<a name = "delete"></a>
vi. Command `delete <task number>`<br/>Removes task with <task number> in list<br/>e.g. `delete 2`

Output:
```
--------------------------------------------------------------------------------
Noted. I've removed this task:
[D][X] finish homework (by: 2pm Moday)
Now you have 2 tasks in the list.
---------------------------------------------------------------------------------
```
Back to [Table of Contents](#table-of-contents)<br/>Back to [Command Summary](#Commandsummary)

<a name = "find"></a>
vii. Command `find <keyword in tasks>`<br/>Finds and filters out the tasks with <keyword><br/>e.g. `find book`

Output:
```
---------------------------------------------------------------------------------
Here are the matching tasks in your list:
1. [T][X] read book
2. [E][X] book club (at: 11-12pm Tuesday)
---------------------------------------------------------------------------------

```
Back to [Table of Contents](#table-of-contents)<br/>Back to [Command Summary](#Commandsummary)

<a name = "bye"></a>
viii. Command `bye`<br/>Exits the program.<br/>e.g. `bye`

Output:
```
--------------------------------------------------------------------------------
Bye. Hope to see you again soon!
--------------------------------------------------------------------------------
```
NOTE: Before ending the program, all the tasks will be saved in *tasks.txt* file.

<a name = "Commandsummary"></a>
## Command Summary
Command |Function
------------ | -------------
`todo <task name>`| Adds a To-Do to your list
`deadline <task name> /by <...>` | Adds a Deadline to your list
`event <task name> /at <...>` | Adds an Event to your list
`done <task number>` |Marks a task at task number in list as done
`delete <task number>` | Removes a task at task number from list
`list` | Prints all the tasks along with dates and times
`find <common keyword in tasks>` | Finds and filters out the tasks with a desired keyword
`bye` | Exits the program.

Loading