https://github.com/misaghmomenib/task-tracker-cli-go
A Lightweight Command-line Interface (Cli) Task Tracker Developed in Go. Manage Your Tasks, Set Priorities, and Track Progress Efficiently From the Terminal, Offering a Fast and Minimalistic Solution for Boosting Productivity.
https://github.com/misaghmomenib/task-tracker-cli-go
cli git golang open-source task-tracker
Last synced: 7 days ago
JSON representation
A Lightweight Command-line Interface (Cli) Task Tracker Developed in Go. Manage Your Tasks, Set Priorities, and Track Progress Efficiently From the Terminal, Offering a Fast and Minimalistic Solution for Boosting Productivity.
- Host: GitHub
- URL: https://github.com/misaghmomenib/task-tracker-cli-go
- Owner: MisaghMomeniB
- Created: 2024-11-16T15:44:58.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-06-13T19:52:12.000Z (4 months ago)
- Last Synced: 2025-06-13T20:36:45.565Z (4 months ago)
- Topics: cli, git, golang, open-source, task-tracker
- Language: Go
- Homepage:
- Size: 24.4 KB
- Stars: 17
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# β Task Tracker CLI (Go)
A **lightweight and feature-rich command-line task manager** built in Go. Manage your tasksβcreate, update, delete, search, sort, and track progressβall from the terminal with ease.
---
## π Table of Contents
1. [Overview](#overview)
2. [Features](#features)
3. [Tech Stack & Requirements](#tech-stack--requirements)
4. [Installation & Build](#installation--build)
5. [Usage Examples](#usage-examples)
6. [Code Structure](#code-structure)
7. [Future Improvements](#future-improvements)
8. [Contributing](#contributing)
9. [License](#license)---
## π‘ Overview
This CLI tool allows you to manage tasks efficiently through a text-based menu and JSON-backed persistence. It supports task priorities, status tracking, searching, and sortingβideal for boosting productivity in your terminal workflow. :contentReference[oaicite:1]{index=1}
---
## β Features
- π **Add Tasks**: Create tasks with Title and Priority (High, Medium, Low)
- π **Update Status**: Change between `todo`, `in-progress`, and `done`
- π **List Tasks**: Filter by status or view all
- π **Search Tasks**: Quick lookup by keyword
- π **Sort Tasks**: By ID, title, status, or priority
- ποΈ **Delete Tasks**: Remove entries with confirmation prompt
- πΎ **Persistent Storage**: Saves to `tasks.json` for data continuity
- π§© **Intuitive CLI Menu**: Navigate options with clear prompts :contentReference[oaicite:2]{index=2}---
## π οΈ Tech Stack & Requirements
- **Go 1.18+** (module support required)
- Standard Go libraries (`encoding/json`, `os`, etc.)
- No external dependencies---
## βοΈ Installation & Build
Clone and compile the project:
```bash
git clone https://github.com/MisaghMomeniB/Task-Tracker-CLI-Go.git
cd Task-Tracker-CLI-Go/src
go build -o task-tracker
````Or run directly:
```bash
go run main.go
```---
## π Usage Examples
### Start the Task Manager
```
$ ./task-tracker
Task Tracker CLI
1. Add Task
2. Update Task Status
3. List Tasks
4. Delete Task
5. Search Tasks
6. Sort Tasks
7. Exit
Choose an option:
```### Add a Task
```
Enter task title: Fix README typos
Select priority (High/Medium/Low): High
β Task 'Fix README typos' added (ID: 1)
```### List All Tasks
```
Status? (todo/in-progress/done/all): all
ID:1 | Title: Fix README typos | Status: todo | Priority: High
```### Update Task
```
Enter task ID: 1
Select new status (todo/in-progress/done): in-progress
π Task ID 1 status updated to in-progress
```### Search & Sort Tasks
Supports keyword search:
```
Enter keyword: README
```Supports sorting by ID, Title, Status, Priority.
---
## π Code Structure
```
Task-Tracker-CLI-Go/
βββ src/
β βββ main.go # CLI menu & command handling
β βββ task.go # Task struct + JSON (de)serialization
βββ README.md # This file
```* **main.go**: menu navigation, user prompts, action logic
* **task.go**: defines Task model and JSON load/save functions---
## π§ Future Improvements
* Add **due dates** and **reminders**
* Include **project labels** or tags
* Support **batch import/export**
* Implement **CLI flags** vs interactive mode
* Add **automated tests** and performance benchmarks---
## π€ Contributing
Contributions are welcome! To improve:
1. Fork the repo
2. Create a branch (`feature/...`)
3. Code enhancements with proper comments
4. Submit a detailed Pull Request---
## π License
This project is licensed under the **MIT License** β see `LICENSE` for details.