├── .gitignore ├── .vscode ├── launch.json └── settings.json ├── LICENSE ├── Makefile ├── README.md ├── api ├── cli │ └── cli.go └── http │ ├── context.go │ ├── error.go │ ├── router.go │ └── server.go ├── assets ├── api-collection.insomnia-v4.json └── gopher-icon.gif ├── cmd └── http │ └── main.go ├── config ├── config.go └── env │ └── .env.template ├── docker-compose.yaml ├── go.mod ├── go.sum ├── internal ├── auth │ ├── dto.go │ ├── impl │ │ ├── service.go │ │ └── service_test.go │ ├── mock │ │ ├── config.go │ │ └── service.go │ └── service.go ├── base │ ├── crypto │ │ ├── crypto.go │ │ ├── impl │ │ │ └── crypto.go │ │ └── mock │ │ │ └── crypto.go │ ├── database │ │ ├── database.go │ │ ├── impl │ │ │ ├── client.go │ │ │ └── service.go │ │ └── mock │ │ │ └── tx.go │ ├── errors │ │ ├── error.go │ │ └── status.go │ └── request │ │ └── request.go └── user │ ├── dto.go │ ├── impl │ ├── repository.go │ ├── usecase.go │ └── usecase_test.go │ ├── mock │ ├── repository.go │ └── usecase.go │ ├── model.go │ ├── repository.go │ └── usecase.go └── migrations ├── 000001_init.down.sql └── 000001_init.up.sql /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/README.md -------------------------------------------------------------------------------- /api/cli/cli.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/api/cli/cli.go -------------------------------------------------------------------------------- /api/http/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/api/http/context.go -------------------------------------------------------------------------------- /api/http/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/api/http/error.go -------------------------------------------------------------------------------- /api/http/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/api/http/router.go -------------------------------------------------------------------------------- /api/http/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/api/http/server.go -------------------------------------------------------------------------------- /assets/api-collection.insomnia-v4.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/assets/api-collection.insomnia-v4.json -------------------------------------------------------------------------------- /assets/gopher-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/assets/gopher-icon.gif -------------------------------------------------------------------------------- /cmd/http/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/cmd/http/main.go -------------------------------------------------------------------------------- /config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/config/config.go -------------------------------------------------------------------------------- /config/env/.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/config/env/.env.template -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/go.sum -------------------------------------------------------------------------------- /internal/auth/dto.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/auth/dto.go -------------------------------------------------------------------------------- /internal/auth/impl/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/auth/impl/service.go -------------------------------------------------------------------------------- /internal/auth/impl/service_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/auth/impl/service_test.go -------------------------------------------------------------------------------- /internal/auth/mock/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/auth/mock/config.go -------------------------------------------------------------------------------- /internal/auth/mock/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/auth/mock/service.go -------------------------------------------------------------------------------- /internal/auth/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/auth/service.go -------------------------------------------------------------------------------- /internal/base/crypto/crypto.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/crypto/crypto.go -------------------------------------------------------------------------------- /internal/base/crypto/impl/crypto.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/crypto/impl/crypto.go -------------------------------------------------------------------------------- /internal/base/crypto/mock/crypto.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/crypto/mock/crypto.go -------------------------------------------------------------------------------- /internal/base/database/database.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/database/database.go -------------------------------------------------------------------------------- /internal/base/database/impl/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/database/impl/client.go -------------------------------------------------------------------------------- /internal/base/database/impl/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/database/impl/service.go -------------------------------------------------------------------------------- /internal/base/database/mock/tx.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/database/mock/tx.go -------------------------------------------------------------------------------- /internal/base/errors/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/errors/error.go -------------------------------------------------------------------------------- /internal/base/errors/status.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/errors/status.go -------------------------------------------------------------------------------- /internal/base/request/request.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/base/request/request.go -------------------------------------------------------------------------------- /internal/user/dto.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/user/dto.go -------------------------------------------------------------------------------- /internal/user/impl/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/user/impl/repository.go -------------------------------------------------------------------------------- /internal/user/impl/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/user/impl/usecase.go -------------------------------------------------------------------------------- /internal/user/impl/usecase_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/user/impl/usecase_test.go -------------------------------------------------------------------------------- /internal/user/mock/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/user/mock/repository.go -------------------------------------------------------------------------------- /internal/user/mock/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/user/mock/usecase.go -------------------------------------------------------------------------------- /internal/user/model.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/user/model.go -------------------------------------------------------------------------------- /internal/user/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/user/repository.go -------------------------------------------------------------------------------- /internal/user/usecase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/internal/user/usecase.go -------------------------------------------------------------------------------- /migrations/000001_init.down.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE users; 2 | -------------------------------------------------------------------------------- /migrations/000001_init.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pvarentsov/go-backend-template/HEAD/migrations/000001_init.up.sql --------------------------------------------------------------------------------