Skip to content

qilstiano/ip

 
 

Repository files navigation

         _                   _           _            
        (_)                 / |_        (_)           
 .---.  __   _ .--.   .--. `| |-'.---.  __   _ .--.   
/ /__\\[  | [ `.-. | ( (`\\] | | / /__\\[  | [ `.-. |  
| \\__., | |  | | | |  `'.'. | |,| \\__., | |  | | | |  
 '.__.'[___][___||__][\\__) )\__/ '.__.'[___][___||__]  v1.1

🧠 Genius Task Management πŸ€–

Guten tag! Welcome to Einstein, your intelligent task management assistant! Einstein is a chatbot designed to help you manage your tasks efficiently. Whether you need to add tasks, mark them as done, or delete them, Einstein is here to make your life easier. With a friendly interface and powerful features, Einstein ensures that you stay organized and productive.


πŸš€ Features

Einstein supports the following commands and features:

1. Add Tasks

πŸ“ Todo: Add a simple task without a deadline.

Syntax:

todo <description>

Example:

todo read book

⏰ Deadline: Add a task with a deadline.

Syntax:

deadline <description> /by <date>

Example:

deadline return book /by Sunday

πŸ—“οΈ Event: Add a task with a start and end time.

Syntax:

event <description> /from <start> /to <end>

Example:

event project meeting /from Mon 2pm /to 4pm

2. πŸ“‹ List Tasks

View all your tasks in a neatly formatted list.

Syntax:

list

Example:

list

3. βœ… Mark Tasks as Done

Mark a task as completed.

Syntax:

mark <task number>

Example:

mark 1

4. ❌ Mark Tasks as Not Done

Mark a task as not completed.

Syntax:

unmark <task number>

Example:

unmark 1

5. πŸ—‘οΈ Delete Tasks

Remove a task from your list.

Syntax:

delete <task number>

Example:

delete 1

6. πŸ” Help

Display a list of all available commands and their usage.

Syntax:

help

Example:

help

7. πŸšͺ Exit

Exit the chatbot.

Syntax:

bye

Example:

bye

πŸ› οΈ Getting Started

Prerequisites

  • Java Development Kit (JDK): Ensure you have JDK installed on your system. You can download it here.
  • Command Line Interface (CLI): Einstein runs in the terminal or command prompt.

Running Einstein

Download the Code:

Clone or download the repository containing the Einstein chatbot code.

Navigate to the Directory:

Open your terminal or command prompt and navigate to the directory where the code is located.

Compile the Code:

javac Einstein.java

Run the Chatbot:

java Einstein

Interact with Einstein:

Once the chatbot starts, you can begin typing commands to manage your tasks.


🎯 Example Usage

Adding Tasks

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

Listing Tasks

> list
Einstein
Here are the tasks in your list:
1.[T][ ] read book

Marking a Task as Done

> mark 1
Einstein
Nice! I've marked this task as done:
  [T][X] read book

Deleting a Task

> delete 1
Einstein
Noted. I've atomized this task:
  [T][X] read book
Now you have 0 tasks in the list.

Getting Help

> help
Einstein
Here are the commands I understand:
...

🚨 Error Handling

Einstein is designed to handle errors gracefully. If you enter an invalid command or task number, Einstein will provide a clear error message to guide you.

Examples of Error Handling

Invalid Command

> blah
Einstein
ARGH! I do not understand you, which is weird,
because I usually understand most things. Invalid command!

Blank Task Number

> delete
Einstein
Nein! You must provide a task number to delete.
Use: delete <task number>

Invalid Task Number

> delete 999
Einstein
Invalid task number! Please give me something valid!

🌟 License

This project is licensed under the MIT License. See the LICENSE file for details.


πŸ™ Acknowledgments

  • DeepSeek: For providing the gradient text styling and ASCII art as well as for writing this README!
  • Java: For making this project possible with its robust and versatile programming language.

Enjoy using Einstein to manage your tasks efficiently! If you have any questions or feedback, feel free to reach out. πŸš€

About

individual project for cs2103

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 96.1%
  • CSS 2.3%
  • Other 1.6%