https://roadmap.sh/projects/task-tracker
A simple Java Command Line Interface (CLI) application to manage tasks.
It supports adding, listing, updating, deleting, and marking tasks as
in progress or done. Data is stored in a local JSON file (tasks.json)
so it persists between sessions.
- โ Add tasks with a description
- ๐ List all tasks or filter by status (
todo,in-progress,done) - โ๏ธ Update a task description
- ๐๏ธ Delete tasks by ID
- โ
Mark tasks as
in-progressordone - ๐พ Persistent storage in
tasks.json
- Java 17+
- Maven 3.8+
mvn -q exec:javaYou will enter an interactive prompt:
Task Tracker CLI. Type 'help'.
>
add "Read a book"
list
list todo
list in-progress
list done
update 2 "Read two books"
delete 3
mark-in-progress 2
mark-done 2
help
src/
main/java/com/taskcli/
Application.java # Entry point
cli/TaskApp.java # Command parsing and routing
model/Task.java # Task entity
domain/Status.java # Task status enum
repository/TaskRepository* # Storage interfaces and JSON impl
service/TaskService* # Business logic
tasks.json # Local storage (created/updated at runtime)
pom.xml # Maven config
tasks.jsonis created/updated in the project root when you run the CLI.- Status values are stored as
TODO,IN_PROGRESS, andDONEin JSON.