A distributed task management system built with Go and gRPC.
Provides a gRPC API for task management.
Features:
- Create tasks
- Get tasks
- List tasks
- Complete tasks
A Cobra-powered command line client that communicates with the backend over gRPC.
Features:
- Add tasks
- Get tasks
- List tasks
- Complete tasks
Install:
- Go 1.24+
- Protocol Buffers Compiler (protoc)
Verify installation:
go version
protoc --versionInstall 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@latestVerify:
protoc-gen-go --version
protoc-gen-go-grpc --versionEnsure your Go bin directory is on PATH.
Windows default:
C:\Users\<username>\go\bin
Install Cobra scaffolding tool:
go install github.com/spf13/cobra-cli@latestVerify:
cobra-cli --helpNavigate to backend project:
cd basic-backendInstall dependencies:
go mod tidyGenerate protobuf code:
protoc --go_out=. --go-grpc_out=. proto/task.protoRun server:
go run ./cmd/projectServer listens on:
localhost:50051
Navigate to CLI project:
cd example-clientInstall dependencies:
go mod tidyRun CLI:
go run . --helpExample:
go run . listConnect to custom server:
go run . list --server localhost:50051- Update
task.proto - Regenerate protobuf files
protoc --go_out=. --go-grpc_out=. proto/task.proto- Restart server
- Test with CLI