Skip to content

Latest commit

Β 

History

History
83 lines (64 loc) Β· 2.43 KB

File metadata and controls

83 lines (64 loc) Β· 2.43 KB

JOI - Task & Deadline Manager

JOI is a command-line tool that helps you manage your tasks and deadlines efficiently. Designed to be simple and intuitive, JOI allows you to focus on what’s important without unnecessary complexity.

πŸš€ Features

  • Task Management: Add, delete, and list tasks with ease.
  • Deadline Tracker: Keep track of deadlines using intuitive commands.
  • Event Scheduling: Plan events with start and end dates.
  • Task Status Management: Mark tasks as completed or incomplete.
  • Task Searching: Quickly find tasks by keywords.
  • Persistent Storage: Saves your tasks so they remain available even after restarting.

πŸ›  Installation

  1. Clone this repository:
    git clone https://github.com/keanneeee/ip.git
  2. Navigate into the project directory:
    cd joi
  3. Compile the Java files:
    javac -d bin -sourcepath src src/chatbbg/chatBBG.java
  4. Run JOI:
    java -cp bin chatbbg.chatBBG

πŸ“– Usage

JOI operates through simple command-line inputs:

list                 # Displays all tasks

todo <task name>     # Adds a new to-do task

deadline <task> /by <date>  # Adds a deadline task

event <task> /from <start> /to <end>  # Adds an event task

mark <task number>   # Marks a task as completed

unmark <task number> # Marks a task as incomplete

delete <task number> # Deletes a task

find <keyword>       # Finds tasks containing the keyword

goodbye              # Exits JOI and saves tasks

πŸ— Project Structure

πŸ“ joi
β”œβ”€β”€ πŸ“ src
β”‚   β”œβ”€β”€ chatbbg/
β”‚   β”‚   β”œβ”€β”€ chatBBG.java  # Main chatbot logic
β”‚   β”‚   β”œβ”€β”€ Extractor.java # Extracts user input details
β”‚   β”‚   β”œβ”€β”€ Functions.java # Handles user commands
β”‚   β”‚   β”œβ”€β”€ Storage.java  # Manages file storage
β”‚   β”‚   β”œβ”€β”€ tasktypes/
β”‚   β”‚   β”‚   β”œβ”€β”€ Task.java
β”‚   β”‚   β”‚   β”œβ”€β”€ Todo.java
β”‚   β”‚   β”‚   β”œβ”€β”€ Deadline.java
β”‚   β”‚   β”‚   β”œβ”€β”€ Event.java
└── πŸ“ data (Created at runtime to store tasks)

🎯 Future Enhancements

  • Implement natural language processing for more flexible commands.
  • Add GUI support for an intuitive user interface.
  • Support task priorities and reminders.

🀝 Contributing

We welcome contributions! Feel free to submit issues or pull requests.


πŸ’‘ "I'm JOI. You look lonely, I can fix that." πŸ’‘