Small starter project to play around with golang features, github actions and various pipelines. Works well as example and mock server.
Features | Description |
---|---|
gorilla mux | routing using gorilla mux |
contexts | contexts |
logrus | logging library |
sqlx | sqlx driver |
pgx | pgx driver |
monitoring | elastic's application performance monitoring |
health check | IETF RFC Health Ceck via nelkinda's health-go |
swagger api | API documentations using swagger swagger.io |
todo:
- circuit breaker
- profiler
- test
GET /health
GET /docs
GET /v1/hello
GET /v1/time
GET /web/
GET /v1/users
GET /v1/devices
POST /v1/user
POST /v1/device
go build ./...
go test ./... -v -covermode=count -coverprofile=coverage.out
or
make test
make test-coverage
go build -a -o seed-go-img cmd/Main.go
or
make build
make docker
make docker-run
├── api
├── cmd
├── docs
├── internal
└── web
name | descriptions |
---|---|
api | swagger api, any protocol and schema file are here |
cmd | main application lives here |
docs | design and user documentations collected here |
internal | internal application and libraries are here |
web | web static files, htmls and css stored here |
Further information see:
Using some free ci tools and code quality scanners. There's some really great tools for public projects, trying them here.
Service | Status |
---|---|
github integations | |
github codeQL | |
azure | |
circleci | |
travic-ci.com | |
appveyor.com | |
goreportcard.com | |
codeclimate.com | |
fork. clone. contribute and share!