Project URL https://roadmap.sh/projects/task-tracker
A simple command-line task tracker written in C++.
This project allows you to:
- Add tasks
- Update tasks
- Delete tasks
- Mark tasks as done
- Mark tasks as in-progress
- List all tasks
- Filter tasks by status
- Persist tasks using JSON storage
The project uses the following:
- Modern C++
- STL
map nlohmann/jsonfor JSON serialization
./task-cli add "Buy groceries"Example Output:
Task added successfully (ID: 0)
./task-cli update 0 "Buy groceries and cook dinner"./task-cli delete 0./task-cli mark-in-progress 0./task-cli mark-done 0./task-cli list./task-cli list done./task-cli list todo./task-cli list in-progressTaskTracker/
├── main.cpp
├── cli.hpp
├── task.hpp
├── taskManager.hpp
├── tasks.json
├── README.md
└── .gitignore
Install:
- g++
- C++17 support
- nlohmann-json
Ubuntu/Debian:
sudo apt install g++ nlohmann-json3-devg++ main.cpp -std=c++17 -o task-cliTasks are stored in:
tasks.json
Example:
[
{
"id": 0,
"description": "Learn C++",
"status": "to-do",
"createdAt": "2026-05-14 12:00:00",
"updatedAt": ""
}
]Each task contains:
- ID
- Description
- Status
- Created Timestamp
- Updated Timestamp
Supported states:
to-doin-progressdone
./task-cli add "Learn JSON"
./task-cli add "Practice DSA"
./task-cli mark-in-progress 0
./task-cli mark-done 0
./task-cli list donePossible enhancements:
- Colored CLI output
- Priority support
- Due dates
- Search tasks
- Sort tasks
- Unit tests
- SQLite storage
- Tags and categories
- Interactive shell mode
Created by Vishal Gujela. For Fun!!! Project URL: