├── .github └── workflows │ └── go.yml ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── docs └── diagram.png ├── gateway-service ├── README.md ├── cmd │ └── main.go ├── config │ ├── config.go │ └── local.config.yaml ├── gateway │ ├── gateway.go │ └── http_response_modifier.go ├── go.mod ├── go.sum └── server │ ├── error.go │ ├── health.go │ ├── middleware.go │ └── server.go ├── go.work ├── go.work.sum ├── logger ├── go.mod ├── go.sum └── logger.go ├── openapi ├── common.swagger.json └── user.swagger.json ├── task-application-proto ├── buf.gen.yaml ├── buf.lock ├── buf.yaml ├── common.proto ├── gen │ ├── common.pb.go │ ├── user.pb.go │ ├── user.pb.gw.go │ └── user_grpc.pb.go ├── gen_proto.sh ├── go.mod ├── go.sum ├── third_party │ └── OpenAPI │ │ ├── common.swagger.json │ │ └── user.swagger.json ├── user.proto └── user_http.yaml ├── task-service ├── README.md ├── cmd │ └── rest-api │ │ └── main.go ├── go.mod ├── go.sum ├── internal │ ├── adapters │ │ ├── left │ │ │ └── rest │ │ │ │ ├── error.go │ │ │ │ ├── rest.go │ │ │ │ └── task.go │ │ └── right │ │ │ └── repo │ │ │ └── task │ │ │ └── sqlite │ │ │ └── task.go │ └── port │ │ ├── domain │ │ ├── repositories.go │ │ └── task │ │ │ └── task.go │ │ ├── repository │ │ ├── mock │ │ │ └── task.go │ │ ├── repotest │ │ │ └── task.go │ │ └── sqlite │ │ │ ├── task.go │ │ │ └── task_test.go │ │ └── service │ │ └── task │ │ ├── create_task.go │ │ ├── create_task_test.go │ │ └── task.go └── pkg │ ├── config │ └── config.go │ └── sqlite │ └── sqlite.go ├── user-service ├── Dockerfile ├── README.md ├── cmd │ └── grpc │ │ └── main.go ├── go.mod ├── go.sum ├── internal │ ├── adapters │ │ ├── left │ │ │ └── grpc │ │ │ │ ├── server.go │ │ │ │ └── user.go │ │ └── right │ │ │ └── repo │ │ │ └── user │ │ │ ├── repotest │ │ │ └── user.go │ │ │ └── sqlite │ │ │ ├── user.go │ │ │ ├── user_test.go │ │ │ └── util.go │ └── port │ │ ├── domain │ │ ├── repository.go │ │ └── user │ │ │ ├── email.go │ │ │ ├── password.go │ │ │ └── user.go │ │ ├── repository │ │ ├── errors.go │ │ ├── repotest │ │ │ └── user.go │ │ └── sqlite │ │ │ ├── user.go │ │ │ └── util.go │ │ └── service │ │ └── user │ │ ├── errors.go │ │ ├── get_user.go │ │ ├── get_user_test.go │ │ ├── register.go │ │ ├── register_test.go │ │ └── user.go └── pkg │ ├── hasher │ ├── argon2 │ │ ├── argon2.go │ │ └── argon2_test.go │ └── hasher.go │ └── sqlite │ └── sqlite.go └── utils ├── background └── background.go ├── go.mod ├── http └── http_util.go └── pointer └── pointer_util.go /.github/workflows/go.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/.github/workflows/go.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/README.md -------------------------------------------------------------------------------- /docs/diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/docs/diagram.png -------------------------------------------------------------------------------- /gateway-service/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/README.md -------------------------------------------------------------------------------- /gateway-service/cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/cmd/main.go -------------------------------------------------------------------------------- /gateway-service/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/config/config.go -------------------------------------------------------------------------------- /gateway-service/config/local.config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/config/local.config.yaml -------------------------------------------------------------------------------- /gateway-service/gateway/gateway.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/gateway/gateway.go -------------------------------------------------------------------------------- /gateway-service/gateway/http_response_modifier.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/gateway/http_response_modifier.go -------------------------------------------------------------------------------- /gateway-service/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/go.mod -------------------------------------------------------------------------------- /gateway-service/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/go.sum -------------------------------------------------------------------------------- /gateway-service/server/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/server/error.go -------------------------------------------------------------------------------- /gateway-service/server/health.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/server/health.go -------------------------------------------------------------------------------- /gateway-service/server/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/server/middleware.go -------------------------------------------------------------------------------- /gateway-service/server/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/gateway-service/server/server.go -------------------------------------------------------------------------------- /go.work: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/go.work -------------------------------------------------------------------------------- /go.work.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/go.work.sum -------------------------------------------------------------------------------- /logger/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/logger/go.mod -------------------------------------------------------------------------------- /logger/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/logger/go.sum -------------------------------------------------------------------------------- /logger/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/logger/logger.go -------------------------------------------------------------------------------- /openapi/common.swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/openapi/common.swagger.json -------------------------------------------------------------------------------- /openapi/user.swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/openapi/user.swagger.json -------------------------------------------------------------------------------- /task-application-proto/buf.gen.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/buf.gen.yaml -------------------------------------------------------------------------------- /task-application-proto/buf.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/buf.lock -------------------------------------------------------------------------------- /task-application-proto/buf.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/buf.yaml -------------------------------------------------------------------------------- /task-application-proto/common.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/common.proto -------------------------------------------------------------------------------- /task-application-proto/gen/common.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/gen/common.pb.go -------------------------------------------------------------------------------- /task-application-proto/gen/user.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/gen/user.pb.go -------------------------------------------------------------------------------- /task-application-proto/gen/user.pb.gw.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/gen/user.pb.gw.go -------------------------------------------------------------------------------- /task-application-proto/gen/user_grpc.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/gen/user_grpc.pb.go -------------------------------------------------------------------------------- /task-application-proto/gen_proto.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | buf generate 4 | -------------------------------------------------------------------------------- /task-application-proto/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/go.mod -------------------------------------------------------------------------------- /task-application-proto/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/go.sum -------------------------------------------------------------------------------- /task-application-proto/third_party/OpenAPI/common.swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/third_party/OpenAPI/common.swagger.json -------------------------------------------------------------------------------- /task-application-proto/third_party/OpenAPI/user.swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/third_party/OpenAPI/user.swagger.json -------------------------------------------------------------------------------- /task-application-proto/user.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/user.proto -------------------------------------------------------------------------------- /task-application-proto/user_http.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-application-proto/user_http.yaml -------------------------------------------------------------------------------- /task-service/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/README.md -------------------------------------------------------------------------------- /task-service/cmd/rest-api/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/cmd/rest-api/main.go -------------------------------------------------------------------------------- /task-service/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/go.mod -------------------------------------------------------------------------------- /task-service/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/go.sum -------------------------------------------------------------------------------- /task-service/internal/adapters/left/rest/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/adapters/left/rest/error.go -------------------------------------------------------------------------------- /task-service/internal/adapters/left/rest/rest.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/adapters/left/rest/rest.go -------------------------------------------------------------------------------- /task-service/internal/adapters/left/rest/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/adapters/left/rest/task.go -------------------------------------------------------------------------------- /task-service/internal/adapters/right/repo/task/sqlite/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/adapters/right/repo/task/sqlite/task.go -------------------------------------------------------------------------------- /task-service/internal/port/domain/repositories.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/port/domain/repositories.go -------------------------------------------------------------------------------- /task-service/internal/port/domain/task/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/port/domain/task/task.go -------------------------------------------------------------------------------- /task-service/internal/port/repository/mock/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/port/repository/mock/task.go -------------------------------------------------------------------------------- /task-service/internal/port/repository/repotest/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/port/repository/repotest/task.go -------------------------------------------------------------------------------- /task-service/internal/port/repository/sqlite/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/port/repository/sqlite/task.go -------------------------------------------------------------------------------- /task-service/internal/port/repository/sqlite/task_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/port/repository/sqlite/task_test.go -------------------------------------------------------------------------------- /task-service/internal/port/service/task/create_task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/port/service/task/create_task.go -------------------------------------------------------------------------------- /task-service/internal/port/service/task/create_task_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/port/service/task/create_task_test.go -------------------------------------------------------------------------------- /task-service/internal/port/service/task/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/internal/port/service/task/task.go -------------------------------------------------------------------------------- /task-service/pkg/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/pkg/config/config.go -------------------------------------------------------------------------------- /task-service/pkg/sqlite/sqlite.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/task-service/pkg/sqlite/sqlite.go -------------------------------------------------------------------------------- /user-service/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/Dockerfile -------------------------------------------------------------------------------- /user-service/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/README.md -------------------------------------------------------------------------------- /user-service/cmd/grpc/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/cmd/grpc/main.go -------------------------------------------------------------------------------- /user-service/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/go.mod -------------------------------------------------------------------------------- /user-service/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/go.sum -------------------------------------------------------------------------------- /user-service/internal/adapters/left/grpc/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/adapters/left/grpc/server.go -------------------------------------------------------------------------------- /user-service/internal/adapters/left/grpc/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/adapters/left/grpc/user.go -------------------------------------------------------------------------------- /user-service/internal/adapters/right/repo/user/repotest/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/adapters/right/repo/user/repotest/user.go -------------------------------------------------------------------------------- /user-service/internal/adapters/right/repo/user/sqlite/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/adapters/right/repo/user/sqlite/user.go -------------------------------------------------------------------------------- /user-service/internal/adapters/right/repo/user/sqlite/user_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/adapters/right/repo/user/sqlite/user_test.go -------------------------------------------------------------------------------- /user-service/internal/adapters/right/repo/user/sqlite/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/adapters/right/repo/user/sqlite/util.go -------------------------------------------------------------------------------- /user-service/internal/port/domain/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/domain/repository.go -------------------------------------------------------------------------------- /user-service/internal/port/domain/user/email.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/domain/user/email.go -------------------------------------------------------------------------------- /user-service/internal/port/domain/user/password.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/domain/user/password.go -------------------------------------------------------------------------------- /user-service/internal/port/domain/user/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/domain/user/user.go -------------------------------------------------------------------------------- /user-service/internal/port/repository/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/repository/errors.go -------------------------------------------------------------------------------- /user-service/internal/port/repository/repotest/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/repository/repotest/user.go -------------------------------------------------------------------------------- /user-service/internal/port/repository/sqlite/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/repository/sqlite/user.go -------------------------------------------------------------------------------- /user-service/internal/port/repository/sqlite/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/repository/sqlite/util.go -------------------------------------------------------------------------------- /user-service/internal/port/service/user/errors.go: -------------------------------------------------------------------------------- 1 | package user 2 | -------------------------------------------------------------------------------- /user-service/internal/port/service/user/get_user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/service/user/get_user.go -------------------------------------------------------------------------------- /user-service/internal/port/service/user/get_user_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/service/user/get_user_test.go -------------------------------------------------------------------------------- /user-service/internal/port/service/user/register.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/service/user/register.go -------------------------------------------------------------------------------- /user-service/internal/port/service/user/register_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/service/user/register_test.go -------------------------------------------------------------------------------- /user-service/internal/port/service/user/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/internal/port/service/user/user.go -------------------------------------------------------------------------------- /user-service/pkg/hasher/argon2/argon2.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/pkg/hasher/argon2/argon2.go -------------------------------------------------------------------------------- /user-service/pkg/hasher/argon2/argon2_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/pkg/hasher/argon2/argon2_test.go -------------------------------------------------------------------------------- /user-service/pkg/hasher/hasher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/pkg/hasher/hasher.go -------------------------------------------------------------------------------- /user-service/pkg/sqlite/sqlite.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/user-service/pkg/sqlite/sqlite.go -------------------------------------------------------------------------------- /utils/background/background.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/utils/background/background.go -------------------------------------------------------------------------------- /utils/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/samverrall/go-task-application/utils 2 | 3 | go 1.18 4 | -------------------------------------------------------------------------------- /utils/http/http_util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/utils/http/http_util.go -------------------------------------------------------------------------------- /utils/pointer/pointer_util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samverrall/go-task-application/HEAD/utils/pointer/pointer_util.go --------------------------------------------------------------------------------