We want to create a Todo App. The functionallities will be basic (CRUD), so we can focus on the technical aspect of gRPC.
We will see step by step how to implement a golang grpc server, with full TLS encryption. This server will be made avalaible by the envoy proxy with a grpc-web filter, to translate browser sent request.
Once the backend part is done, we will develop the frontend with svelte. Enforced by typescript and tailwindcss, implementing an application with svelte is a breeze.
- mkcert
- docker & docker-compose
- envoy (docker or local)
Golang
Svelte
Envoy
Postgres
To test out more of the grpc possibilities, let's implement a server side streaming service. This will be used to update the view, and synchronize all the pages that are open on our todo app.
gRPC on the browser is now possible. It is a little complex to put in place, but once the foundation are set up it becomes a breeze to develop new functionalities, have a nice and secure bi-directionnal stream, backward and forward compatibility...