Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskFlow

A distributed task management system built with Go and gRPC.

Components

Backend Server

Provides a gRPC API for task management.

Features:

  • Create tasks
  • Get tasks
  • List tasks
  • Complete tasks

CLI Client

A Cobra-powered command line client that communicates with the backend over gRPC.

Features:

  • Add tasks
  • Get tasks
  • List tasks
  • Complete tasks

Prerequisites

Install:

  • Go 1.24+
  • Protocol Buffers Compiler (protoc)

Verify installation:

go version
protoc --version

Installing Protocol Buffer Tooling

Install Go protobuf generators:

go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

Verify:

protoc-gen-go --version
protoc-gen-go-grpc --version

Ensure your Go bin directory is on PATH.

Windows default:

C:\Users\<username>\go\bin

Installing Cobra CLI

Install Cobra scaffolding tool:

go install github.com/spf13/cobra-cli@latest

Verify:

cobra-cli --help

Backend Setup

Navigate to backend project:

cd basic-backend

Install dependencies:

go mod tidy

Generate protobuf code:

protoc --go_out=. --go-grpc_out=. proto/task.proto

Run server:

go run ./cmd/project

Server listens on:

localhost:50051

CLI Setup

Navigate to CLI project:

cd example-client

Install dependencies:

go mod tidy

Run CLI:

go run . --help

Example:

go run . list

Connect to custom server:

go run . list --server localhost:50051

Development Workflow

  1. Update task.proto
  2. Regenerate protobuf files
protoc --go_out=. --go-grpc_out=. proto/task.proto
  1. Restart server
  2. Test with CLI

About

Learning Go through building a basic gRPC Server with Protobuffs

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages