Categorygithub.com/idmaksim/task-tracker-cli
module
0.0.0-20250219175251-3b9279ae9037
Repository: https://github.com/idmaksim/task-tracker-cli.git
Documentation: pkg.go.dev

# README

šŸ“ Task Tracker CLI

A powerful command-line task management tool built with Go, following the clean architecture principles. This project was implemented based on the requirements from roadmap.sh Task Tracker project.

✨ Features

  • šŸ“Œ Add new tasks
  • šŸ“ Update task descriptions
  • šŸ—‘ļø Delete tasks
  • šŸ”„ Change task status (todo/in-progress/done)
  • šŸ“‹ List tasks with status filtering

šŸš€ Getting Started

Prerequisites

  • Go 1.21 or higher

Installation

go install github.com/idmaksim/task-tracker-cli/cmd/task-cli@latest

šŸ’” Usage

Managing Tasks

# Add a new task
task-cli add "Buy groceries"

# Update task description
task-cli update 1 "Buy groceries and cook dinner"

# Delete a task
task-cli delete 1

Task Status Management

# Mark task as in progress
task-cli mark-in-progress 1

# Mark task as done
task-cli mark-done 1

Listing Tasks

# List all tasks
task-cli list

# List tasks by status
task-cli list todo
task-cli list in-progress
task-cli list done

šŸ—ļø Project Structure

.
ā”œā”€ā”€ cmd/
│   └── task-cli/          # Application entry point
ā”œā”€ā”€ internal/
│   ā”œā”€ā”€ domain/            # Business logic and entities
│   │   ā”œā”€ā”€ models/        # Domain models
│   │   └── repositories/  # Repository interfaces
│   ā”œā”€ā”€ usecases/         # Application use cases
│   ā”œā”€ā”€ infrastructure/   # External implementations
│   │   └── storage/      # JSON storage implementation
│   └── delivery/         # CLI interface
│       └── cli/
│           ā”œā”€ā”€ commands/ # CLI commands
│           └── handlers/ # Command handlers
└── pkg/                  # Public packages
    └── constants/       # Shared constants

šŸŽÆ Task Properties

Each task includes:

  • šŸ”‘ Unique ID
  • šŸ“„ Description
  • šŸ“Š Status (todo/in-progress/done)
  • šŸ“… Creation date
  • šŸ”„ Last update date

šŸ› ļø Technical Details

  • Clean Architecture: Separation of concerns with clear layer boundaries
  • Concurrent Safe: JSON file storage with mutex protection
  • Error Handling: Graceful error handling and user-friendly messages
  • CLI Framework: Built with Cobra for robust command-line interface
  • Time Tracking: Automatic creation and update time management

✨ Acknowledgments

# Packages

No description provided by the author
No description provided by the author