Lubot is a task management chatbot that helps you organize your daily tasks efficiently. It provides an intuitive graphical user interface (GUI) built with JavaFX, and supports saving and loading tasks for seamless task tracking.
✅ Task Management – Add, delete, mark, and unmark tasks.
✅ Task Types – Supports To-dos, Deadlines, Events, and Fixed-Duration Tasks.
✅ Find Tasks – Search for tasks by keywords.
✅ GUI – A modern JavaFX-based graphical interface.
✅ Data Persistence – Tasks are automatically saved to disk.
✅ Graceful Error Handling – Handles incorrect inputs and file errors smoothly.
✅ Exit Command – Allows the user to type exit to close the application.
- Java 11 or later
- JavaFX (Included in JAR build)
- Gradle (for building from source)
java -jar build/libs/lubot.jar(Ensure JavaFX runtime components are included in the JAR.)
- Clone this repository:
git clone https://github.com/your-username/lubot.git
cd lubot- Run with Gradle:
./gradlew run| Command | Example | Description |
|---|---|---|
todo <description> |
todo Read book |
Adds a to-do task |
deadline <description> /by <YYYY-MM-DD> |
deadline Submit report /by 2024-03-10 |
Adds a deadline |
event <description> /from <YYYY-MM-DD> /to <YYYY-MM-DD> |
event Conference /from 2024-03-12 /to 2024-03-14 |
Adds an event |
fixed <description> /duration <hours> |
fixed Read paper /duration 2 |
Adds a fixed-duration task |
list |
list |
Shows all tasks |
mark <index> |
mark 1 |
Marks task as done |
unmark <index> |
unmark 1 |
Unmarks a task |
delete <index> |
delete 2 |
Deletes a task |
find <keyword> |
find book |
Finds tasks containing the keyword |
help |
help |
Displays available commands |
exit |
exit |
Exits the application |
This project follows:
- Checkstyle – Ensures adherence to Java coding standards.
- JUnit Testing – Includes unit tests for core functionalities.
- Assertions – Uses assertions to document assumptions in the code.
Contributions are welcome!
To contribute:
- Fork the repository.
- Create a new branch (
feature-branch). - Commit your changes with meaningful messages.
- Push and open a pull request.
- JavaFX Documentation for GUI implementation.
- SE-EDU Guides for software engineering practices.