├── .gitignore ├── .travis.yml ├── Dockerfile ├── LICENSE ├── Makefile ├── Procfile ├── README.md ├── cmd ├── api.go └── root.go ├── config └── config.go ├── docker-compose.yml ├── docker └── nginx │ ├── Dockerfile │ └── nginx.conf ├── go.mod ├── go.sum ├── main.go ├── metrics ├── grafana │ └── provisioning │ │ ├── dashboards │ │ ├── all.yml │ │ └── go-processes_rev2.json │ │ └── datasources │ │ └── automatic.yml └── prometheus │ └── prometheus.yml └── src ├── api_errors └── api_errors.go ├── cache ├── cache.go └── redis_cache.go ├── context └── context.go ├── handlers ├── healthcheck.go ├── user.go └── user_test.go ├── log ├── logger.go ├── zap-key-value-encoder.go └── zap.go ├── metrics └── prometheus.go ├── middleware ├── assign_request_id.go ├── new_relic.go └── request_log.go ├── models └── user.go ├── mongo └── mongo.go ├── repository ├── user.go ├── user_mock.go └── user_mongo.go └── server ├── middleware.go ├── new_relic.go ├── routes.go └── server.go /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/.travis.yml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/Makefile -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: ./golang_api_skeleton -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/README.md -------------------------------------------------------------------------------- /cmd/api.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/cmd/api.go -------------------------------------------------------------------------------- /cmd/root.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/cmd/root.go -------------------------------------------------------------------------------- /config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/config/config.go -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker/nginx/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/docker/nginx/Dockerfile -------------------------------------------------------------------------------- /docker/nginx/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/docker/nginx/nginx.conf -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/go.sum -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/main.go -------------------------------------------------------------------------------- /metrics/grafana/provisioning/dashboards/all.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/metrics/grafana/provisioning/dashboards/all.yml -------------------------------------------------------------------------------- /metrics/grafana/provisioning/dashboards/go-processes_rev2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/metrics/grafana/provisioning/dashboards/go-processes_rev2.json -------------------------------------------------------------------------------- /metrics/grafana/provisioning/datasources/automatic.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/metrics/grafana/provisioning/datasources/automatic.yml -------------------------------------------------------------------------------- /metrics/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/metrics/prometheus/prometheus.yml -------------------------------------------------------------------------------- /src/api_errors/api_errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/api_errors/api_errors.go -------------------------------------------------------------------------------- /src/cache/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/cache/cache.go -------------------------------------------------------------------------------- /src/cache/redis_cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/cache/redis_cache.go -------------------------------------------------------------------------------- /src/context/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/context/context.go -------------------------------------------------------------------------------- /src/handlers/healthcheck.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/handlers/healthcheck.go -------------------------------------------------------------------------------- /src/handlers/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/handlers/user.go -------------------------------------------------------------------------------- /src/handlers/user_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/handlers/user_test.go -------------------------------------------------------------------------------- /src/log/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/log/logger.go -------------------------------------------------------------------------------- /src/log/zap-key-value-encoder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/log/zap-key-value-encoder.go -------------------------------------------------------------------------------- /src/log/zap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/log/zap.go -------------------------------------------------------------------------------- /src/metrics/prometheus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/metrics/prometheus.go -------------------------------------------------------------------------------- /src/middleware/assign_request_id.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/middleware/assign_request_id.go -------------------------------------------------------------------------------- /src/middleware/new_relic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/middleware/new_relic.go -------------------------------------------------------------------------------- /src/middleware/request_log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/middleware/request_log.go -------------------------------------------------------------------------------- /src/models/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/models/user.go -------------------------------------------------------------------------------- /src/mongo/mongo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/mongo/mongo.go -------------------------------------------------------------------------------- /src/repository/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/repository/user.go -------------------------------------------------------------------------------- /src/repository/user_mock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/repository/user_mock.go -------------------------------------------------------------------------------- /src/repository/user_mongo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/repository/user_mongo.go -------------------------------------------------------------------------------- /src/server/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/server/middleware.go -------------------------------------------------------------------------------- /src/server/new_relic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/server/new_relic.go -------------------------------------------------------------------------------- /src/server/routes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/server/routes.go -------------------------------------------------------------------------------- /src/server/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smile1130/golang-api-template/HEAD/src/server/server.go --------------------------------------------------------------------------------