├── .DS_Store ├── .gitignore ├── LICENSE ├── README.md ├── diagram.png ├── examples ├── book-rest-api │ ├── Makefile │ ├── README.md │ ├── app │ │ ├── repository │ │ │ └── book.go │ │ └── usecase │ │ │ └── book_page │ │ │ ├── errors.go │ │ │ ├── implement.go │ │ │ └── interface.go │ ├── config │ │ └── config.go │ ├── entity │ │ ├── author.go │ │ └── book.go │ ├── go.mod │ ├── go.sum │ ├── handler │ │ ├── handler.go │ │ └── interface.go │ ├── main.go │ ├── migrations │ │ └── mysql │ │ │ ├── 000_create-database.sql │ │ │ ├── 001_create-schema.sql │ │ │ └── 002_seeding-data.sql │ ├── pkg │ │ ├── helpers │ │ │ ├── date.go │ │ │ └── time.go │ │ ├── mysql │ │ │ └── mysql.go │ │ └── redis │ │ │ └── redis.go │ ├── repository │ │ └── book_repository_v1 │ │ │ ├── model.go │ │ │ └── repository.go │ └── service.yaml └── video-rest-api │ ├── Makefile │ ├── README.md │ ├── app │ ├── repository │ │ └── video.go │ └── usecase │ │ └── crud_video │ │ ├── errors.go │ │ ├── implement.go │ │ └── interface.go │ ├── config │ └── config.go │ ├── entity │ └── videos.go │ ├── go.mod │ ├── go.sum │ ├── handler │ ├── handler.go │ ├── interface.go │ └── response.go │ ├── main.go │ ├── migrations │ └── mysql │ │ ├── 000_create-database.sql │ │ ├── 001_create-schema.sql │ │ └── 002_seeding-data.sql │ ├── pkg │ └── mysql │ │ └── mysql.go │ ├── repository │ └── video_repository_v1 │ │ ├── integration_test.go │ │ ├── model.go │ │ └── repository.go │ └── service.yaml └── postman.json /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/README.md -------------------------------------------------------------------------------- /diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/diagram.png -------------------------------------------------------------------------------- /examples/book-rest-api/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/Makefile -------------------------------------------------------------------------------- /examples/book-rest-api/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/README.md -------------------------------------------------------------------------------- /examples/book-rest-api/app/repository/book.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/app/repository/book.go -------------------------------------------------------------------------------- /examples/book-rest-api/app/usecase/book_page/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/app/usecase/book_page/errors.go -------------------------------------------------------------------------------- /examples/book-rest-api/app/usecase/book_page/implement.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/app/usecase/book_page/implement.go -------------------------------------------------------------------------------- /examples/book-rest-api/app/usecase/book_page/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/app/usecase/book_page/interface.go -------------------------------------------------------------------------------- /examples/book-rest-api/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/config/config.go -------------------------------------------------------------------------------- /examples/book-rest-api/entity/author.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/entity/author.go -------------------------------------------------------------------------------- /examples/book-rest-api/entity/book.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/entity/book.go -------------------------------------------------------------------------------- /examples/book-rest-api/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/go.mod -------------------------------------------------------------------------------- /examples/book-rest-api/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/go.sum -------------------------------------------------------------------------------- /examples/book-rest-api/handler/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/handler/handler.go -------------------------------------------------------------------------------- /examples/book-rest-api/handler/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/handler/interface.go -------------------------------------------------------------------------------- /examples/book-rest-api/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/main.go -------------------------------------------------------------------------------- /examples/book-rest-api/migrations/mysql/000_create-database.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE gca; -------------------------------------------------------------------------------- /examples/book-rest-api/migrations/mysql/001_create-schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/migrations/mysql/001_create-schema.sql -------------------------------------------------------------------------------- /examples/book-rest-api/migrations/mysql/002_seeding-data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/migrations/mysql/002_seeding-data.sql -------------------------------------------------------------------------------- /examples/book-rest-api/pkg/helpers/date.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/pkg/helpers/date.go -------------------------------------------------------------------------------- /examples/book-rest-api/pkg/helpers/time.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/pkg/helpers/time.go -------------------------------------------------------------------------------- /examples/book-rest-api/pkg/mysql/mysql.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/pkg/mysql/mysql.go -------------------------------------------------------------------------------- /examples/book-rest-api/pkg/redis/redis.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/pkg/redis/redis.go -------------------------------------------------------------------------------- /examples/book-rest-api/repository/book_repository_v1/model.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/repository/book_repository_v1/model.go -------------------------------------------------------------------------------- /examples/book-rest-api/repository/book_repository_v1/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/book-rest-api/repository/book_repository_v1/repository.go -------------------------------------------------------------------------------- /examples/book-rest-api/service.yaml: -------------------------------------------------------------------------------- 1 | version: 1 2 | lang: go 3 | name: book-rest-api -------------------------------------------------------------------------------- /examples/video-rest-api/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/Makefile -------------------------------------------------------------------------------- /examples/video-rest-api/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/README.md -------------------------------------------------------------------------------- /examples/video-rest-api/app/repository/video.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/app/repository/video.go -------------------------------------------------------------------------------- /examples/video-rest-api/app/usecase/crud_video/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/app/usecase/crud_video/errors.go -------------------------------------------------------------------------------- /examples/video-rest-api/app/usecase/crud_video/implement.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/app/usecase/crud_video/implement.go -------------------------------------------------------------------------------- /examples/video-rest-api/app/usecase/crud_video/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/app/usecase/crud_video/interface.go -------------------------------------------------------------------------------- /examples/video-rest-api/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/config/config.go -------------------------------------------------------------------------------- /examples/video-rest-api/entity/videos.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/entity/videos.go -------------------------------------------------------------------------------- /examples/video-rest-api/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/go.mod -------------------------------------------------------------------------------- /examples/video-rest-api/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/go.sum -------------------------------------------------------------------------------- /examples/video-rest-api/handler/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/handler/handler.go -------------------------------------------------------------------------------- /examples/video-rest-api/handler/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/handler/interface.go -------------------------------------------------------------------------------- /examples/video-rest-api/handler/response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/handler/response.go -------------------------------------------------------------------------------- /examples/video-rest-api/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/main.go -------------------------------------------------------------------------------- /examples/video-rest-api/migrations/mysql/000_create-database.sql: -------------------------------------------------------------------------------- 1 | CREATE DATABASE gca; -------------------------------------------------------------------------------- /examples/video-rest-api/migrations/mysql/001_create-schema.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/migrations/mysql/001_create-schema.sql -------------------------------------------------------------------------------- /examples/video-rest-api/migrations/mysql/002_seeding-data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/migrations/mysql/002_seeding-data.sql -------------------------------------------------------------------------------- /examples/video-rest-api/pkg/mysql/mysql.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/pkg/mysql/mysql.go -------------------------------------------------------------------------------- /examples/video-rest-api/repository/video_repository_v1/integration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/repository/video_repository_v1/integration_test.go -------------------------------------------------------------------------------- /examples/video-rest-api/repository/video_repository_v1/model.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/repository/video_repository_v1/model.go -------------------------------------------------------------------------------- /examples/video-rest-api/repository/video_repository_v1/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/examples/video-rest-api/repository/video_repository_v1/repository.go -------------------------------------------------------------------------------- /examples/video-rest-api/service.yaml: -------------------------------------------------------------------------------- 1 | version: 1 2 | lang: go 3 | name: video-rest-api -------------------------------------------------------------------------------- /postman.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/herryg91/go-clean-architecture/HEAD/postman.json --------------------------------------------------------------------------------