Task Tracker CLI is a simple command-line interface (CLI) application to manage your tasks. This tool allows you to add, update, delete, and track tasks efficiently based on their status.
- ✅ Add Tasks: Add new tasks with a description.
- ✏️ Update Tasks: Modify the description of an existing task.
- ❌ Delete Tasks: Remove tasks from the list.
- 🔄 Mark Tasks: Change the status of a task to
in-progress
ordone
. - 📋 List Tasks: View all tasks or filter them by status (
todo
,in-progress
,done
).
Each task contains the following properties:
id
: A unique identifier for the task.description
: A short description of the task.status
: The current status (todo
,in-progress
, ordone
).createdAt
: Timestamp of when the task was created.updatedAt
: Timestamp of the last time the task was updated.
git clone https://github.com/Zyprush18/task-tracker.git
cd task-tracker
go build -o task-cli main.go
./task-cli add "Buy groceries"
Example output:
Task added successfully (ID: 1)
./task-cli update <task_id> "New description"
Example output:
Task updated successfully
./task-cli delete <task_id>
Example output:
Task deleted successfully
./task-cli mark-in-progress <task_id>
Example output:
Task updated successfully
./task-cli mark-done <task_id>
Example output:
Task updated successfully
./task-cli list
Example output:
[
{
"id": 1,
"description": "Buy groceries",
"status": "todo",
"created_at": "2025-05-14T18:57:04.767335827+08:00",
"updated_at": "0001-01-01T00:00:00Z"
}
]
./task-cli list <status>
Available statuses:
todo
in-progress
done
Example output:
[
{
"id": 2,
"description": "Write documentation",
"status": "in-progress",
"created_at": "2025-05-14T19:10:00.123456789+08:00",
"updated_at": "2025-05-14T19:15:00.987654321+08:00"
}
]
This project is inspired by the Task Tracker Project on Roadmap.sh, designed to practice building CLI apps using Go.