- eBook: eBook.pdf eBook.epub
- Repository: https://github.com/theNorstroem/todo-management-tool
- Furo Web Stack: https://furo.pro/
For this example to fly, the following software components should be installed on the system.
- git, https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
- Docker, https://docs.docker.com/get-docker/
- Go, https://go.dev/doc/install
- NodeJS / npm, https://nodejs.org/en/download/
We recommend 2+ years of programming experience in JavaScript / HTML / CSS and a basic knowledge of Protocol Buffers. Experiences in Go is also a plus. But don’t worry, you don’t have to be an expert.
download the eBook: eBook.pdf eBook.epub The e-book includes a usecase-driven guide through the chapters
clone the repository:
git clone [email protected]:theNorstroem/todo-management-tool.git
checkout chapter 01:
git checkout c01_todos_api_contract
. |-- LICENSE |-- README.md |-- api |-- client `-- grpc-backend
Furo build environment docker container
https://hub.docker.com/r/thenorstroem/furo-bec
docker pull thenorstroem/furo-bec:v1.35.1
Example Usage: docker run -it --rm -v $(pwd):$pwd/specs -v ~/.ssh:/root/.ssh thenorstroem/furo-bec:v1.35.1
Commands: https://furo.pro/docs/commands/
start the furo build environment container from /api
All the web application source is located in the subfolder client
.
npm i
npm run start:mock
npm run start
All the gRPC server code is located in the subfolder /grpc-backend
.
cd grpc-backend
go run ./...
or with the built version
cd grpc-backend
go install ./cmd/...
tmt-grpc
All the gRPC gateway code is located in the subfolder /api/dist/grpc-gateway
.
cd api
GW_SERVER_ADDRESS=localhost:8481 GRPC_SERVER_ADDRESS=localhost:7070 go run ./...
or with the built version
cd api
go install ./dist/grpc-server/cmd/...
GW_SERVER_ADDRESS=localhost:8481 GRPC_SERVER_ADDRESS=localhost:7070 cmd