A simple CLI todo-list tracker built with Go(lang), gRPC, and postgreSQL. gRPC allows you to expose functionality from a server without having to handle HTTP requests, this allows you to focus on the logic. Users can interact with the server via auto-generated SDKs in various languages.
Getting Started
Launch a local containerized postgres database using the docker compose file:
$ docker compose up
Start the gRPC server:
$ go run cmd/server/maing.go
Now run the client to interact with the server
$ go run cmd/client/main.go help
NAME:
Todo gRPC - A simple todo list built on Go(lang) and gRPC
USAGE:
main [global options] command [command options] [arguments...]
COMMANDS:
add, a Add a todo to the list
delete, d Delete a todo to the list
update, u Update the content of a todo
complete, c Toggle the complete status of a todo
list, l List all todos
get, g Get a particular todo
search, s Search for todos containing keyword
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
Usage
Add a todo
$ go run cmd/client/maing.go add hello, world!
> Added! hello, world!
- gRPC
- Go 1.16
- Buf (code generation)