├── .gitignore ├── README.md ├── cmd └── app │ └── main.go ├── go.mod ├── go.sum ├── img.png ├── internal ├── adapters │ └── db │ │ └── mongodb │ │ ├── author.go │ │ ├── book.go │ │ └── genre.go ├── config │ └── config.go ├── controller │ ├── amqp │ │ └── dto │ │ │ └── book.go │ └── http │ │ ├── dto │ │ ├── author.go │ │ ├── book.go │ │ └── genre.go │ │ └── v1 │ │ ├── author.go │ │ ├── book.go │ │ └── genre.go └── domain │ ├── entity │ ├── author.go │ ├── book.go │ └── genre.go │ ├── service │ ├── author.go │ ├── book.go │ └── genre.go │ └── usecase │ └── book │ ├── book.go │ └── dto.go └── pkg ├── client └── mongodb │ └── client.go └── logging └── logging.go /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/README.md -------------------------------------------------------------------------------- /cmd/app/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/cmd/app/main.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/go.sum -------------------------------------------------------------------------------- /img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/img.png -------------------------------------------------------------------------------- /internal/adapters/db/mongodb/author.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/adapters/db/mongodb/author.go -------------------------------------------------------------------------------- /internal/adapters/db/mongodb/book.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/adapters/db/mongodb/book.go -------------------------------------------------------------------------------- /internal/adapters/db/mongodb/genre.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/adapters/db/mongodb/genre.go -------------------------------------------------------------------------------- /internal/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/config/config.go -------------------------------------------------------------------------------- /internal/controller/amqp/dto/book.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/controller/amqp/dto/book.go -------------------------------------------------------------------------------- /internal/controller/http/dto/author.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/controller/http/dto/author.go -------------------------------------------------------------------------------- /internal/controller/http/dto/book.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/controller/http/dto/book.go -------------------------------------------------------------------------------- /internal/controller/http/dto/genre.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/controller/http/dto/genre.go -------------------------------------------------------------------------------- /internal/controller/http/v1/author.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/controller/http/v1/author.go -------------------------------------------------------------------------------- /internal/controller/http/v1/book.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/controller/http/v1/book.go -------------------------------------------------------------------------------- /internal/controller/http/v1/genre.go: -------------------------------------------------------------------------------- 1 | package v1 2 | -------------------------------------------------------------------------------- /internal/domain/entity/author.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/domain/entity/author.go -------------------------------------------------------------------------------- /internal/domain/entity/book.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/domain/entity/book.go -------------------------------------------------------------------------------- /internal/domain/entity/genre.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/domain/entity/genre.go -------------------------------------------------------------------------------- /internal/domain/service/author.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/domain/service/author.go -------------------------------------------------------------------------------- /internal/domain/service/book.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/domain/service/book.go -------------------------------------------------------------------------------- /internal/domain/service/genre.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/domain/service/genre.go -------------------------------------------------------------------------------- /internal/domain/usecase/book/book.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/domain/usecase/book/book.go -------------------------------------------------------------------------------- /internal/domain/usecase/book/dto.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/internal/domain/usecase/book/dto.go -------------------------------------------------------------------------------- /pkg/client/mongodb/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/pkg/client/mongodb/client.go -------------------------------------------------------------------------------- /pkg/logging/logging.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theartofdevel/golang-clean-architecture/HEAD/pkg/logging/logging.go --------------------------------------------------------------------------------