├── .dockerignore ├── .gitignore ├── Dockerfile ├── LICENSE ├── Makefile ├── Overview.png ├── README.md ├── application ├── controllers │ ├── iserver.go │ ├── resful.implement.go │ ├── restful.go │ ├── restful.handler.go │ └── wire.go ├── middlewares │ └── wire.go └── validators │ └── wire.go ├── cmd ├── main.go ├── wire.go └── wire_gen.go ├── config ├── config.dev.yml └── config.yml ├── core ├── bizs │ ├── job.go │ └── wire.go ├── configs │ └── config.go ├── constants │ ├── kafka.go │ └── messages.go ├── entities │ ├── base.go │ ├── comments.go │ ├── companies.go │ ├── company_reviews.go │ ├── jobs.go │ └── users.go ├── exceptions │ ├── domain_errors.go │ └── err_repo.go ├── interfaces │ ├── bizs │ │ ├── ijob_biz.go │ │ └── iorder_biz.go │ ├── caching │ │ ├── ijob_ops.go │ │ └── iopensearch.go │ └── repositories │ │ ├── ijob_repo.go │ │ └── iorder_repo.go └── models │ ├── comments.go │ ├── common.go │ ├── companies.go │ ├── company_reviews.go │ ├── job.go │ ├── search.go │ └── users.go ├── deployments └── keycloak-ingress.yaml ├── docker-compose.yaml ├── docker └── mysqlseed │ └── create_table.sql ├── go.mod ├── go.sum ├── infrastructure ├── migrations │ ├── 000001_version_101.down.sql │ ├── 000001_version_101.up.sql │ ├── 000002_version_102.down.sql │ ├── 000002_version_102.up.sql │ ├── 000003_version_103.down.sql │ ├── 000003_version_103.up.sql │ ├── 000004_version_104.down.sql │ ├── 000004_version_104.up.sql │ └── Untitled-1.md ├── opensearch │ ├── job.go │ └── wire.go └── repositories │ └── mysql │ ├── companies_queries.go │ ├── job.go │ ├── job_quries_raw.go │ ├── jobs_queries.go │ └── wire.go ├── pkg ├── kafka │ ├── conn │ │ └── conn.go │ ├── entity.go │ ├── errors.go │ ├── implement.go │ ├── interface.go │ ├── option.go │ ├── publisher.go │ ├── subscriber.go │ ├── topicseditor.go │ └── wire.go ├── logger │ ├── logger.go │ └── wire.go ├── mysql │ ├── mysql.go │ └── wire.go ├── opensearch │ ├── models.go │ ├── ops.go │ └── wire.go ├── randomizer │ └── randomizer.go └── utils │ └── integer.go └── postman_collection.json /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/.dockerignore -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/Makefile -------------------------------------------------------------------------------- /Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/Overview.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/README.md -------------------------------------------------------------------------------- /application/controllers/iserver.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/application/controllers/iserver.go -------------------------------------------------------------------------------- /application/controllers/resful.implement.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/application/controllers/resful.implement.go -------------------------------------------------------------------------------- /application/controllers/restful.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/application/controllers/restful.go -------------------------------------------------------------------------------- /application/controllers/restful.handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/application/controllers/restful.handler.go -------------------------------------------------------------------------------- /application/controllers/wire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/application/controllers/wire.go -------------------------------------------------------------------------------- /application/middlewares/wire.go: -------------------------------------------------------------------------------- 1 | package middlewares 2 | -------------------------------------------------------------------------------- /application/validators/wire.go: -------------------------------------------------------------------------------- 1 | package validators 2 | -------------------------------------------------------------------------------- /cmd/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/cmd/main.go -------------------------------------------------------------------------------- /cmd/wire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/cmd/wire.go -------------------------------------------------------------------------------- /cmd/wire_gen.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/cmd/wire_gen.go -------------------------------------------------------------------------------- /config/config.dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/config/config.dev.yml -------------------------------------------------------------------------------- /config/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/config/config.yml -------------------------------------------------------------------------------- /core/bizs/job.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/bizs/job.go -------------------------------------------------------------------------------- /core/bizs/wire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/bizs/wire.go -------------------------------------------------------------------------------- /core/configs/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/configs/config.go -------------------------------------------------------------------------------- /core/constants/kafka.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/constants/kafka.go -------------------------------------------------------------------------------- /core/constants/messages.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/constants/messages.go -------------------------------------------------------------------------------- /core/entities/base.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/entities/base.go -------------------------------------------------------------------------------- /core/entities/comments.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/entities/comments.go -------------------------------------------------------------------------------- /core/entities/companies.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/entities/companies.go -------------------------------------------------------------------------------- /core/entities/company_reviews.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/entities/company_reviews.go -------------------------------------------------------------------------------- /core/entities/jobs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/entities/jobs.go -------------------------------------------------------------------------------- /core/entities/users.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/entities/users.go -------------------------------------------------------------------------------- /core/exceptions/domain_errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/exceptions/domain_errors.go -------------------------------------------------------------------------------- /core/exceptions/err_repo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/exceptions/err_repo.go -------------------------------------------------------------------------------- /core/interfaces/bizs/ijob_biz.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/interfaces/bizs/ijob_biz.go -------------------------------------------------------------------------------- /core/interfaces/bizs/iorder_biz.go: -------------------------------------------------------------------------------- 1 | package bizs 2 | 3 | type OrderBiz interface { 4 | } 5 | -------------------------------------------------------------------------------- /core/interfaces/caching/ijob_ops.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/interfaces/caching/ijob_ops.go -------------------------------------------------------------------------------- /core/interfaces/caching/iopensearch.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/interfaces/caching/iopensearch.go -------------------------------------------------------------------------------- /core/interfaces/repositories/ijob_repo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/interfaces/repositories/ijob_repo.go -------------------------------------------------------------------------------- /core/interfaces/repositories/iorder_repo.go: -------------------------------------------------------------------------------- 1 | package repositories 2 | 3 | type OrderRepo interface { 4 | } 5 | -------------------------------------------------------------------------------- /core/models/comments.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/models/comments.go -------------------------------------------------------------------------------- /core/models/common.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/models/common.go -------------------------------------------------------------------------------- /core/models/companies.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/models/companies.go -------------------------------------------------------------------------------- /core/models/company_reviews.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/models/company_reviews.go -------------------------------------------------------------------------------- /core/models/job.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/models/job.go -------------------------------------------------------------------------------- /core/models/search.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/models/search.go -------------------------------------------------------------------------------- /core/models/users.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/core/models/users.go -------------------------------------------------------------------------------- /deployments/keycloak-ingress.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/deployments/keycloak-ingress.yaml -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /docker/mysqlseed/create_table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/docker/mysqlseed/create_table.sql -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/go.sum -------------------------------------------------------------------------------- /infrastructure/migrations/000001_version_101.down.sql: -------------------------------------------------------------------------------- 1 | use app; 2 | 3 | DROP TABLE TEST; 4 | -------------------------------------------------------------------------------- /infrastructure/migrations/000001_version_101.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/migrations/000001_version_101.up.sql -------------------------------------------------------------------------------- /infrastructure/migrations/000002_version_102.down.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/migrations/000002_version_102.down.sql -------------------------------------------------------------------------------- /infrastructure/migrations/000002_version_102.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/migrations/000002_version_102.up.sql -------------------------------------------------------------------------------- /infrastructure/migrations/000003_version_103.down.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/migrations/000003_version_103.down.sql -------------------------------------------------------------------------------- /infrastructure/migrations/000003_version_103.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/migrations/000003_version_103.up.sql -------------------------------------------------------------------------------- /infrastructure/migrations/000004_version_104.down.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /infrastructure/migrations/000004_version_104.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/migrations/000004_version_104.up.sql -------------------------------------------------------------------------------- /infrastructure/migrations/Untitled-1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/migrations/Untitled-1.md -------------------------------------------------------------------------------- /infrastructure/opensearch/job.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/opensearch/job.go -------------------------------------------------------------------------------- /infrastructure/opensearch/wire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/opensearch/wire.go -------------------------------------------------------------------------------- /infrastructure/repositories/mysql/companies_queries.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/repositories/mysql/companies_queries.go -------------------------------------------------------------------------------- /infrastructure/repositories/mysql/job.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/repositories/mysql/job.go -------------------------------------------------------------------------------- /infrastructure/repositories/mysql/job_quries_raw.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/repositories/mysql/job_quries_raw.go -------------------------------------------------------------------------------- /infrastructure/repositories/mysql/jobs_queries.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/repositories/mysql/jobs_queries.go -------------------------------------------------------------------------------- /infrastructure/repositories/mysql/wire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/infrastructure/repositories/mysql/wire.go -------------------------------------------------------------------------------- /pkg/kafka/conn/conn.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/conn/conn.go -------------------------------------------------------------------------------- /pkg/kafka/entity.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/entity.go -------------------------------------------------------------------------------- /pkg/kafka/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/errors.go -------------------------------------------------------------------------------- /pkg/kafka/implement.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/implement.go -------------------------------------------------------------------------------- /pkg/kafka/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/interface.go -------------------------------------------------------------------------------- /pkg/kafka/option.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/option.go -------------------------------------------------------------------------------- /pkg/kafka/publisher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/publisher.go -------------------------------------------------------------------------------- /pkg/kafka/subscriber.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/subscriber.go -------------------------------------------------------------------------------- /pkg/kafka/topicseditor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/topicseditor.go -------------------------------------------------------------------------------- /pkg/kafka/wire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/kafka/wire.go -------------------------------------------------------------------------------- /pkg/logger/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/logger/logger.go -------------------------------------------------------------------------------- /pkg/logger/wire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/logger/wire.go -------------------------------------------------------------------------------- /pkg/mysql/mysql.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/mysql/mysql.go -------------------------------------------------------------------------------- /pkg/mysql/wire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/mysql/wire.go -------------------------------------------------------------------------------- /pkg/opensearch/models.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/opensearch/models.go -------------------------------------------------------------------------------- /pkg/opensearch/ops.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/opensearch/ops.go -------------------------------------------------------------------------------- /pkg/opensearch/wire.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/opensearch/wire.go -------------------------------------------------------------------------------- /pkg/randomizer/randomizer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/randomizer/randomizer.go -------------------------------------------------------------------------------- /pkg/utils/integer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/pkg/utils/integer.go -------------------------------------------------------------------------------- /postman_collection.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khoa-nguyendang/go-ddd-clean-architect/HEAD/postman_collection.json --------------------------------------------------------------------------------