A simple command-line interface (CLI) application used to track and
manage tasks.
This project follows the official challenge at:
https://roadmap.sh/projects/task-tracker
The Task Tracker allows users to create, update, delete, and list tasks
stored in a local JSON file.
It is built without external frameworks and uses only the native
filesystem functionality.
task-cli add "Buy groceries"
# Output: Task added successfully (ID: 1)
task-cli update 1 "Buy groceries and cook dinner"
task-cli delete 1
task-cli mark-in-progress 1
task-cli mark-done 1
task-cli list # All tasks
task-cli list todo # Pending tasks
task-cli list in-progress # Tasks in progress
task-cli list done # Completed tasks
{
"id": 1,
"description": "Buy groceries",
"status": "todo",
"createdAt": "2024-08-06T12:00:00Z",
"updatedAt": "2024-08-06T12:00:00Z"
}All tasks are saved in a file named:
tasks.json
It is automatically created if missing.
- Go (Golang)
- Native filesystem (os)
- JSON (encoding/json)
- CLI argument handling (os.Args)
- Install Go
- Clone this repository
- Run the CLI:
<!-- -->
go run . <command> <arguments>
Example:
go run . add "Learn Go"