├── .dockerignore ├── .env ├── .github ├── FUNDING.yml └── workflows │ ├── release.yml │ └── test.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── api ├── resource │ ├── book │ │ ├── handler.go │ │ ├── model.go │ │ ├── repository.go │ │ └── repository_test.go │ ├── common │ │ ├── err │ │ │ └── err.go │ │ └── log │ │ │ └── log.go │ └── health │ │ └── handler.go └── router │ ├── middleware │ ├── content_type.go │ ├── content_type_test.go │ ├── request_id.go │ ├── request_id_test.go │ └── requestlog │ │ ├── handler.go │ │ └── log_entry.go │ └── router.go ├── bin ├── gofumpt ├── govulncheck ├── staticcheck └── swag ├── cmd ├── api │ └── main.go └── migrate │ └── main.go ├── compose.yml ├── config └── config.go ├── doc └── assets │ ├── form_validation.png │ ├── logs_app_init.png │ └── logs_crud.png ├── go.mod ├── go.sum ├── k8s ├── app-configmap.yaml ├── app-deployment.yaml ├── app-secret.yaml └── app-service.yaml ├── migrations └── 00001_create_books_table.sql ├── mock └── db │ └── db.go ├── prod.Dockerfile └── util ├── ctx └── ctx.go ├── logger └── logger.go ├── test └── test.go └── validator ├── validator.go └── validator_test.go /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/.env -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .vscode 3 | .DS_Store 4 | .swagger -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/README.md -------------------------------------------------------------------------------- /api/resource/book/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/resource/book/handler.go -------------------------------------------------------------------------------- /api/resource/book/model.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/resource/book/model.go -------------------------------------------------------------------------------- /api/resource/book/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/resource/book/repository.go -------------------------------------------------------------------------------- /api/resource/book/repository_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/resource/book/repository_test.go -------------------------------------------------------------------------------- /api/resource/common/err/err.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/resource/common/err/err.go -------------------------------------------------------------------------------- /api/resource/common/log/log.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | const KeyReqID = "request_id" 4 | -------------------------------------------------------------------------------- /api/resource/health/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/resource/health/handler.go -------------------------------------------------------------------------------- /api/router/middleware/content_type.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/router/middleware/content_type.go -------------------------------------------------------------------------------- /api/router/middleware/content_type_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/router/middleware/content_type_test.go -------------------------------------------------------------------------------- /api/router/middleware/request_id.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/router/middleware/request_id.go -------------------------------------------------------------------------------- /api/router/middleware/request_id_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/router/middleware/request_id_test.go -------------------------------------------------------------------------------- /api/router/middleware/requestlog/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/router/middleware/requestlog/handler.go -------------------------------------------------------------------------------- /api/router/middleware/requestlog/log_entry.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/router/middleware/requestlog/log_entry.go -------------------------------------------------------------------------------- /api/router/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/api/router/router.go -------------------------------------------------------------------------------- /bin/gofumpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/bin/gofumpt -------------------------------------------------------------------------------- /bin/govulncheck: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/bin/govulncheck -------------------------------------------------------------------------------- /bin/staticcheck: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/bin/staticcheck -------------------------------------------------------------------------------- /bin/swag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/bin/swag -------------------------------------------------------------------------------- /cmd/api/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/cmd/api/main.go -------------------------------------------------------------------------------- /cmd/migrate/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/cmd/migrate/main.go -------------------------------------------------------------------------------- /compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/compose.yml -------------------------------------------------------------------------------- /config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/config/config.go -------------------------------------------------------------------------------- /doc/assets/form_validation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/doc/assets/form_validation.png -------------------------------------------------------------------------------- /doc/assets/logs_app_init.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/doc/assets/logs_app_init.png -------------------------------------------------------------------------------- /doc/assets/logs_crud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/doc/assets/logs_crud.png -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/go.sum -------------------------------------------------------------------------------- /k8s/app-configmap.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/k8s/app-configmap.yaml -------------------------------------------------------------------------------- /k8s/app-deployment.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/k8s/app-deployment.yaml -------------------------------------------------------------------------------- /k8s/app-secret.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/k8s/app-secret.yaml -------------------------------------------------------------------------------- /k8s/app-service.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/k8s/app-service.yaml -------------------------------------------------------------------------------- /migrations/00001_create_books_table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/migrations/00001_create_books_table.sql -------------------------------------------------------------------------------- /mock/db/db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/mock/db/db.go -------------------------------------------------------------------------------- /prod.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/prod.Dockerfile -------------------------------------------------------------------------------- /util/ctx/ctx.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/util/ctx/ctx.go -------------------------------------------------------------------------------- /util/logger/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/util/logger/logger.go -------------------------------------------------------------------------------- /util/test/test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/util/test/test.go -------------------------------------------------------------------------------- /util/validator/validator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/util/validator/validator.go -------------------------------------------------------------------------------- /util/validator/validator_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learning-cloud-native-go/myapp/HEAD/util/validator/validator_test.go --------------------------------------------------------------------------------