A minimalist template to get you started quickly with building a pre-implemented CRUD microservice in Go. Just add your model specific fields, and you are all set 🚀.
- Based on go-kit framework
- Supports all CRUD operations
- Supports AWS Cognito authentication
- Provides
http
andgRPC
server - Supports validate and conform for user input
- Uses gorm to interact with postgres DB
- Supports Docker
- Rename module in
go.mod
- Rename Docker tag in
Makefile
- Rename model in
models/models.go
and add fields - Populate fields for request and response objects in
types/types.go
- Populate fields for request and response objects in
pb/model.proto
- Generate gRPC client and server code by running the following:
$ cd pb
$ make generate
- Add fields to crud methods in
service/model_service.go
- Update routes in
transports/http.go
- Add following environment variables:
DB_USERNAME
DB_PASSWORD
DB_HOST
DB_PORT
DB_NAME
DB_CLUSTER
GRPC_PORT
HTTP_PORT
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_COGNITO_REGION
AWS_COGNITO_USER_POOL_ID