GRPC Golang Starter API is a GRPC microservice that provides a simple and secure way to access GRPC Starter. Build with monorepo, it is easy to use and easy to maintain.
It comes pre-configured with :
- Google Cloud Error Reporting (https://cloud.google.com/go/errorreporting)
- Google Cloud Profiler (https://cloud.google.com/go/profiler)
- Google Pub Sub(https://cloud.google.com/go/pubsub)
- JWT GO (https://github.com/dgrijalva/jwt-go)
- Go Mock (https://github.com/golang/mock)
- Redis (https://github.com/gomodule/redigo)
- Google UUID (https://github.com/google/uuid)
- GRPC (https://google.golang.org/grpc)
- GRPC Gateway(https://github.com/grpc-ecosystem/grpc-gateway/v2)
- GRPC OpenTracing (https://github.com/grpc-ecosystem/grpc-opentracing)
- GRPC Middleware (https://github.com/grpc-ecosystem/go-grpc-middleware)
- Protocol Buffers (https://google.golang.org/protobuf)
- Protoc Gen Validate (https://github.com/envoyproxy/protoc-gen-validate)
- Prometheus (https://github.com/grpc-ecosystem/go-grpc-prometheus)
- GORM (https://gorm.io/gorm)
- PGX Postgres (https://github.com/jackc/pgx/v4)
- ENV Decode(https://github.com/joeshaw/envdecode)
- Godotenv (https://github.com/joho/godotenv)
- Mailgun (https://github.com/mailgun/mailgun-go/v4)
- Sendgrid (https://github.com/sendgrid/sendgrid-go)
- Testify (https://github.com/stretchr/testify)
Use this command to install the blueprint
go get github.com/rifqiakrm/grpc-starter
or manually clone the repo.
- Read Prerequisites.
- Then, read How to Run.
- Read Prerequisites.
- Then, read Development Guide.
$ make tidy
$ make cover
Before you start creating gherkin scenarios, you need to install godog and read the step definition documentation here.
To run integration test, we need to start all dependencies needed. We provide all dependencies via Docker Make sure to install Docker before running integration test.
Also, we need to build the docker image for grpc-starter first.
$ make compile-server
$ make docker-build-server
After that, run all images needed using docker-compose
and run the integration test.
$ docker run -d -p 8080:8080 -p 8081:8081 --env-file .env grpc-starter-server:latest
$ make test.integration
Read Deployment.
TBD
TBD
TBD
TBD
- Read FAQs