- Install scoop https://scoop.sh/
- Install Docker desktop
- Install chocolatey https://chocolatey.org/install
- Install migrate (https://github.com/golang-migrate/migrate/tree/master/cmd/migrate)
scoop install migrate
- Install makefile
choco install make
- Execute on cmd:
docker pull postgres:12-alpine
- Execute on cmd
make postgres
on root folder project - Execute on cmd
make createdb
on root folder project - Execute on cmd
make migrateup
on root folder project
- Install node >= 16
- npm install -g dbdocs
- npm install -g @dbml/cli
You need file doc/db.dbml
make db_docs
make db_schema
migrate create -ext sql -dir db/migration -seq <migration_name>
- docker network create bank-network
- docker network connect bank-network postgres12
- docker build -t simplebank:latest .
- docker run --name simplebank --network bank-network -p 8080:8080 -e DB_SOURCE="postgresql://user:password@postgres12:5432/simple_bank?sslmode=disable" -e GIN_MODE=release simplebank:latest
- docker pull kjconroy/sqlc
- Execute on cmd
docker run --rm -v "%cd%:/src" -w /src kjconroy/sqlc generate
- PWSH:
docker run --rm -v "$(pwd):/src" -w /src kjconroy/sqlc generate
- openssl rand -hex 64 | head -c 32 // Generate random 32 bytes
- go install github.com/golang/mock/mockgen@v1.6.0
- go get github.com/golang/mock/
- mockgen -destination db/mock/store.go github.com/nicolasfelippe/simplebank/db/sqlc Store
- login:
aws ecr get-login-password | docker login --username AWS --password-stdin <url ecr>
example: 979387533035.dkr.ecr.us-east-1.amazonaws.comdocker pull <uri image>
// 979387533035.dkr.ecr.us-east-1.amazonaws.com/simplebank:ef283d7113863e10999ede32ba93d5ee99d92b94
-
choco install protoc
-
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
-
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
-
Download and install
https://github.com/ktr0731/evans#installation
// Copy binary and inject path on variables system -
go install \ github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \ github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \ google.golang.org/protobuf/cmd/protoc-gen-go \ google.golang.org/grpc/cmd/protoc-gen-go-grpc
-
go install github.com/rakyll/statik