# Task Tracker
Task Tracker is a simple command line interface (CLI) application to track and manage your tasks. This project helps you practice your programming skills, including working with the filesystem, handling user inputs, and building a simple CLI application.
## Features
- Add, update, and delete tasks
- Mark tasks as in progress or done
- List all tasks
- List tasks by status (done, todo, in-progress)
## Requirements
- Java 8 or higher
- Gson library
## Installation
1. **Clone the repository:**
```sh
git clone https://github.com/lakshay1341/Task-Tracker.git
cd Task-Tracker
-
Download the Gson library:
Download the Gson library from here and place the JAR file in your project directory.
-
Compile the Java files:
javac -cp .:gson-2.8.6.jar *.java
Run the application in interactive mode:
java -cp .:gson-2.8.6.jar TaskCLI
-
Add a new task:
add "Buy groceries"
-
Update a task:
update 1 "Buy groceries and cook dinner"
-
Delete a task:
delete 1
-
Mark a task as in progress:
mark-in-progress 1
-
Mark a task as done:
mark-done 1
-
List all tasks:
list
-
List tasks by status:
list done list todo list in-progress
> add "Buy groceries"
Task added successfully (ID: 1)
> list
Task{id=1, description='Buy groceries', status='todo', createdAt=2024-09-16T20:12:01, updatedAt=2024-09-16T20:12:01}
> mark-in-progress 1
Task marked as in-progress (ID: 1)
> list in-progress
Task{id=1, description='Buy groceries', status='in-progress', createdAt=2024-09-16T20:12:01, updatedAt=2024-09-16T20:12:01}
> exit
Exiting Task Tracker CLI.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for details.
- https://roadmap.sh/projects/task-tracker
- Gson for JSON parsing
- Java for providing a robust programming language