Configuration

This choice must be made using the GoFast CLI. Possible options are HTTP and gRPC.

Implementation Details

  • HTTP implementation will remove all gRPC code, proto files and libraries.
  • gRPC implementation uses streams for all queries, and unary for all mutations.
  • gRPC implementation will still have some HTTP routes:
    • Payments webhook.
    • Files functionality. gRPC is just not the best solution to handle file uploads and downloads.

gRPC generation

For gRPC implementation, all proto files are inside the proto folder. After making any changes, we need to generate new types for both the server and client.

cd scripts && sh proto.sh

This script will take care of type generation and propagation, but it depends on two libraries, so make sure you have them globally installed:

  • protoc
  • proto-loader-gen-types
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

Need help?

Visit our discord server to ask any questions, make suggestions and give feedback :).

https://discord.gg/EdSZbQbRyJ