This repository contains gRPC services for the fuks App
To kickstart your journey with these services, you can use the following commands:
To initiate the server, set your Google Application Credentials using credentials.json
and execute:
export GOOGLE_APPLICATION_CREDENTIALS=credentials.json
go run cmd/server/server.go
Launch the client with one of the following commands:
go run cmd/cli/cli.go get_events
go run cmd/cli/cli.go get_projects
go run cmd/cli/cli.go get_karlsruher_transfers
go run cmd/cli/cli.go get_links
Prepare a new release by following these steps:
- Update the changelog in
CHANGELOG.md
- Update dependencies
go get -u all
- Commit changes
git commit -am "Release vX.X.X"
- Push changes
git push
- Create a new git tag:
git tag vX.X.X
git push origin vX.X.X
- Merge
main
branch intostable
branch
After the release is merged into the stable
branch, the new release will be automatically deployed by using Google
Cloud Run.
Before you begin, make sure you have the following dependencies installed:
-
Protocol Buffers: Install with Homebrew (macOS) or your preferred package manager.
brew install protobuf
-
Go Protobuf and gRPC code generation tools:
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
To generate gRPC definitions, follow these steps:
-
Update APP_DIR Variable
- In the
proto/Makefile
, update theAPP_DIR
variable to point to the Fuks App directory.
- In the
-
Update PROTO_ROOT_DIR Variable
- If necessary, modify the
PROTO_ROOT_DIR
variable in theproto/Makefile
to suit your setup.
- If necessary, modify the
-
Update gRPC Definitions
- Make changes to the gRPC definitions in
proto/services.proto
as needed.
- Make changes to the gRPC definitions in
-
Generate Code
- Use the following commands to generate the code:
- Generate Go code:
make go
- Generate Fuks App code:
make dart
- Generate Go code:
- Use the following commands to generate the code:
These guidelines should help you make the most out of the Fuks Cloud Services repository. Enjoy your journey!