Skip to content

rpambo/Task-Tracker-CLI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Tracker CLI

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

Project Overview

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.

Features

Add a new task

task-cli add "Buy groceries"
# Output: Task added successfully (ID: 1)

Update a task

task-cli update 1 "Buy groceries and cook dinner"

Delete a task

task-cli delete 1

Mark tasks as in-progress or done

task-cli mark-in-progress 1
task-cli mark-done 1

List tasks

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

Task Structure

{
  "id": 1,
  "description": "Buy groceries",
  "status": "todo",
  "createdAt": "2024-08-06T12:00:00Z",
  "updatedAt": "2024-08-06T12:00:00Z"
}

Storage

All tasks are saved in a file named:

tasks.json

It is automatically created if missing.

Technologies Used

  • Go (Golang)
  • Native filesystem (os)
  • JSON (encoding/json)
  • CLI argument handling (os.Args)

Running the Application

  1. Install Go
  2. Clone this repository
  3. Run the CLI:
<!-- -->
go run . <command> <arguments>

Example:

go run . add "Learn Go"

Challenge Link

https://roadmap.sh/projects/task-tracker

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages