A simple Command-Line Interface (CLI) application built with Go to track and manage your daily tasks. It stores tasks in a local tasks.json file. This project is a solution to the Task Tracker backend challenge from roadmap.sh.
- Add a new task
- Update an existing task
- Delete a task
- Mark a task's status (
todo,in-progress,done) - List all tasks (or filter them by status)
Make sure you have Go installed on your machine.
-
Clone the Repository
git clone git@github.com:muhamien/task-tracker.git cd task-tracker -
Build the Project
go build -o task-tracker main.go
-
Run the CLI
./task-tracker <command> [arguments]
./task-tracker add "Learn Go"./task-tracker update 1 "Learn Go and write tests"./task-tracker delete 1./task-tracker mark-in-progress 1./task-tracker mark-done 1List all tasks:
./task-tracker listWhen pushing via SSH (git@github.com), port 22 is sometimes blocked by local firewalls or the environment.
If you face connection issues, consider these alternatives:
-
Use HTTPS:
git remote set-url origin https://github.com/muhamien/task-tracker.git git push -u origin main
-
Route SSH over port 443: Add the following to
~/.ssh/config:Host github.com Hostname ssh.github.com Port 443 User git