├── .gitignore ├── LICENSE ├── README.md ├── next-version ├── .mcp.json ├── CLAUDE.md ├── backend-for-frontend │ ├── .gitignore │ ├── .sdkmanrc │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── src │ │ ├── main │ │ ├── java │ │ │ └── dev │ │ │ │ └── huhao │ │ │ │ └── samples │ │ │ │ └── ddd │ │ │ │ └── bff │ │ │ │ ├── BackendForFrontendApplication.java │ │ │ │ ├── adapters │ │ │ │ ├── inbound │ │ │ │ │ └── graphql │ │ │ │ │ │ ├── Mutation.java │ │ │ │ │ │ ├── Query.java │ │ │ │ │ │ ├── Subscription.java │ │ │ │ │ │ ├── handlers │ │ │ │ │ │ └── GlobalExceptionHandler.java │ │ │ │ │ │ └── resolvers │ │ │ │ │ │ └── blog │ │ │ │ │ │ ├── Author.java │ │ │ │ │ │ ├── Draft.java │ │ │ │ │ │ └── DraftResolver.java │ │ │ │ └── outbound │ │ │ │ │ └── gateway │ │ │ │ │ └── DraftGateway.java │ │ │ │ └── application │ │ │ │ └── services │ │ │ │ └── DraftService.java │ │ └── resources │ │ │ ├── application.yml │ │ │ └── graphql │ │ │ ├── blog.graphqls │ │ │ └── schema.graphqls │ │ └── test │ │ ├── java │ │ └── dev │ │ │ └── huhao │ │ │ └── samples │ │ │ └── ddd │ │ │ └── bff │ │ │ └── adapters │ │ │ └── inbound │ │ │ └── graphql │ │ │ ├── GraphQLIntegrationTestBase.java │ │ │ ├── mockserver │ │ │ └── MockDraftGrpcService.java │ │ │ ├── mutation │ │ │ └── DraftMutationTest.java │ │ │ └── query │ │ │ └── DraftQueryTest.java │ │ └── resources │ │ ├── application.yml │ │ └── fixture │ │ ├── mutation │ │ ├── createDraft.graphql │ │ └── results │ │ │ └── create-draft-result.json │ │ └── query │ │ ├── draft.graphql │ │ └── results │ │ └── query-draft-result.json ├── blog-service-proto │ ├── .gitignore │ ├── .sdkmanrc │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── src │ │ └── main │ │ └── proto │ │ ├── blog.proto │ │ └── draft.proto └── blog-service │ ├── .gitignore │ ├── .sdkmanrc │ ├── build.gradle │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── src │ ├── main │ ├── java │ │ └── dev │ │ │ └── huhao │ │ │ └── samples │ │ │ └── ddd │ │ │ └── blogservice │ │ │ ├── BlogServiceApplication.java │ │ │ ├── adapters │ │ │ ├── inbound │ │ │ │ └── grpc │ │ │ │ │ ├── GlobalInterceptorConfiguration.java │ │ │ │ │ ├── blog │ │ │ │ │ ├── BlogGrpcService.java │ │ │ │ │ └── DraftGrpcService.java │ │ │ │ │ └── interceptors │ │ │ │ │ └── GlobalExceptionHandlerInterceptor.java │ │ │ └── outbound │ │ │ │ └── persistence │ │ │ │ ├── MyBatisSpringTransaction.java │ │ │ │ └── blog │ │ │ │ ├── BlogMapper.java │ │ │ │ ├── BlogPO.java │ │ │ │ └── BlogRepositoryImpl.java │ │ │ ├── application │ │ │ └── usecase │ │ │ │ ├── EditBlogUseCase.java │ │ │ │ └── QueryDraftUseCase.java │ │ │ └── domain │ │ │ ├── common │ │ │ ├── DomainException.java │ │ │ ├── EntityExistedException.java │ │ │ └── EntityNotFoundException.java │ │ │ ├── concepts │ │ │ ├── AggregateRoot.java │ │ │ ├── DomainService.java │ │ │ ├── Entity.java │ │ │ ├── Factory.java │ │ │ ├── ReadModel.java │ │ │ ├── Repository.java │ │ │ └── ValueObject.java │ │ │ └── contexts │ │ │ └── blogcontext │ │ │ └── blog │ │ │ ├── Blog.java │ │ │ ├── BlogDomainService.java │ │ │ ├── BlogRepository.java │ │ │ ├── Draft.java │ │ │ ├── PublishedBlog.java │ │ │ └── exceptions │ │ │ └── NoNeedToPublishException.java │ └── resources │ │ ├── application.yml │ │ ├── db │ │ └── migration │ │ │ └── V20200502233649__create_blog_table.sql │ │ └── mybatis │ │ └── blog │ │ ├── Blog.xml │ │ └── BlogMapper.xml │ └── test │ ├── java │ └── dev │ │ └── huhao │ │ └── samples │ │ └── ddd │ │ └── blogservice │ │ ├── adapters │ │ ├── inbound │ │ │ └── grpc │ │ │ │ ├── GrpcServiceIntegrationTestBase.java │ │ │ │ └── blog │ │ │ │ ├── BlogGrpcServiceTest.java │ │ │ │ ├── DraftGrpcServiceTest.java │ │ │ │ └── DraftSpecification.java │ │ └── outbound │ │ │ └── persistence │ │ │ ├── MapperIntegrationTestBase.java │ │ │ └── blog │ │ │ └── BlogMapperTest.java │ │ └── domain │ │ └── contexts │ │ └── blogcontext │ │ └── blog │ │ ├── BlogDomainServiceTest.java │ │ └── BlogTest.java │ └── resources │ └── application.yml └── spring-with-mybatis ├── .gitignore ├── .sdkmanrc ├── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src ├── main ├── java │ └── study │ │ └── huhao │ │ └── demo │ │ ├── SpringWithMyBatisApplication.java │ │ ├── adapters │ │ ├── inbound │ │ │ ├── grpc │ │ │ │ └── .gitkeep │ │ │ └── rest │ │ │ │ ├── MyBatisSpringTransaction.java │ │ │ │ ├── handlers │ │ │ │ └── GlobalExceptionHandler.java │ │ │ │ └── resources │ │ │ │ ├── RequestDto.java │ │ │ │ ├── ResponseDto.java │ │ │ │ ├── blog │ │ │ │ ├── BlogDto.java │ │ │ │ ├── BlogResource.java │ │ │ │ ├── BlogSubResource.java │ │ │ │ ├── CreateBlogRequest.java │ │ │ │ └── SaveDraftRequest.java │ │ │ │ └── publishedblog │ │ │ │ ├── PublishBlogRequest.java │ │ │ │ ├── PublishedBlogDto.java │ │ │ │ ├── PublishedBlogResource.java │ │ │ │ └── PublishedBlogSubResource.java │ │ └── outbound │ │ │ ├── gateway │ │ │ └── DemoGatewayImpl.java │ │ │ └── persistence │ │ │ ├── PersistenceObject.java │ │ │ └── blog │ │ │ ├── BlogMapper.java │ │ │ ├── BlogPO.java │ │ │ ├── BlogRepositoryImpl.java │ │ │ └── PublishedBlogPO.java │ │ ├── application │ │ ├── concepts │ │ │ ├── Gateway.java │ │ │ └── UseCase.java │ │ ├── dto │ │ │ └── Page.java │ │ ├── gateway │ │ │ └── DemoGateway.java │ │ └── usecases │ │ │ ├── EditBlogUseCase.java │ │ │ ├── QueryBlogUseCase.java │ │ │ └── QueryPublishedBlogUseCase.java │ │ └── domain │ │ ├── contexts │ │ ├── blogcontext │ │ │ └── blog │ │ │ │ ├── Blog.java │ │ │ │ ├── BlogCriteria.java │ │ │ │ ├── BlogRepository.java │ │ │ │ ├── BlogService.java │ │ │ │ ├── PublishedBlog.java │ │ │ │ └── exceptions │ │ │ │ └── NoNeedToPublishException.java │ │ └── usercontext │ │ │ └── user │ │ │ ├── User.java │ │ │ ├── UserRepository.java │ │ │ └── UserService.java │ │ └── core │ │ ├── common │ │ ├── Criteria.java │ │ └── excpetions │ │ │ ├── DomainException.java │ │ │ ├── EntityExistedException.java │ │ │ └── EntityNotFoundException.java │ │ └── concepts │ │ ├── AggregateRoot.java │ │ ├── Entity.java │ │ ├── Factory.java │ │ ├── ReadModel.java │ │ ├── Repository.java │ │ ├── Service.java │ │ └── ValueObject.java └── resources │ ├── application.properties │ ├── db │ └── migration │ │ └── V20190406234633__create_blog_table.sql │ └── mybatis │ └── blog │ ├── Blog.xml │ ├── BlogMapper.xml │ └── PublishedBlog.xml └── test ├── java ├── architecture │ ├── ApplicationLayerTest.java │ ├── ArchitectureTest.java │ ├── DomainLayerTest.java │ ├── GatewayTest.java │ ├── LayeredArchitectureTest.java │ ├── PersistenceLayerTest.java │ └── RestLayerTest.java └── study │ └── huhao │ └── demo │ ├── adapters │ ├── inbound │ │ └── rest │ │ │ └── resources │ │ │ ├── BasePath.java │ │ │ ├── BaseRequestSpecification.java │ │ │ ├── BaseResponseSpecification.java │ │ │ ├── ResourceTest.java │ │ │ ├── blog │ │ │ ├── BlogResourceTest.java │ │ │ └── BlogSubResourceTest.java │ │ │ └── publishedblog │ │ │ ├── PublishedBlogResourceTest.java │ │ │ └── PublishedBlogSubResourceTest.java │ └── outbound │ │ └── persistence │ │ ├── MapperTest.java │ │ └── blog │ │ └── BlogMapperTest.java │ └── domain │ └── contexts │ └── blogcontext │ └── blog │ ├── BlogServiceTest.java │ └── BlogTest.java └── resources └── application.properties /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/README.md -------------------------------------------------------------------------------- /next-version/.mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/.mcp.json -------------------------------------------------------------------------------- /next-version/CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/CLAUDE.md -------------------------------------------------------------------------------- /next-version/backend-for-frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/.gitignore -------------------------------------------------------------------------------- /next-version/backend-for-frontend/.sdkmanrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/.sdkmanrc -------------------------------------------------------------------------------- /next-version/backend-for-frontend/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/build.gradle -------------------------------------------------------------------------------- /next-version/backend-for-frontend/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /next-version/backend-for-frontend/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /next-version/backend-for-frontend/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/gradlew -------------------------------------------------------------------------------- /next-version/backend-for-frontend/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/gradlew.bat -------------------------------------------------------------------------------- /next-version/backend-for-frontend/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/settings.gradle -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/BackendForFrontendApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/BackendForFrontendApplication.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/Mutation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/Mutation.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/Query.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/Query.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/Subscription.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/Subscription.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/handlers/GlobalExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/handlers/GlobalExceptionHandler.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/resolvers/blog/Author.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/resolvers/blog/Author.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/resolvers/blog/Draft.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/resolvers/blog/Draft.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/resolvers/blog/DraftResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/resolvers/blog/DraftResolver.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/outbound/gateway/DraftGateway.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/adapters/outbound/gateway/DraftGateway.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/application/services/DraftService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/java/dev/huhao/samples/ddd/bff/application/services/DraftService.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/resources/application.yml -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/resources/graphql/blog.graphqls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/resources/graphql/blog.graphqls -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/main/resources/graphql/schema.graphqls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/main/resources/graphql/schema.graphqls -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/test/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/GraphQLIntegrationTestBase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/test/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/GraphQLIntegrationTestBase.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/test/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/mockserver/MockDraftGrpcService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/test/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/mockserver/MockDraftGrpcService.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/test/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/mutation/DraftMutationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/test/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/mutation/DraftMutationTest.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/test/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/query/DraftQueryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/test/java/dev/huhao/samples/ddd/bff/adapters/inbound/graphql/query/DraftQueryTest.java -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/test/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/test/resources/application.yml -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/test/resources/fixture/mutation/createDraft.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/test/resources/fixture/mutation/createDraft.graphql -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/test/resources/fixture/mutation/results/create-draft-result.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/test/resources/fixture/mutation/results/create-draft-result.json -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/test/resources/fixture/query/draft.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/test/resources/fixture/query/draft.graphql -------------------------------------------------------------------------------- /next-version/backend-for-frontend/src/test/resources/fixture/query/results/query-draft-result.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/backend-for-frontend/src/test/resources/fixture/query/results/query-draft-result.json -------------------------------------------------------------------------------- /next-version/blog-service-proto/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service-proto/.gitignore -------------------------------------------------------------------------------- /next-version/blog-service-proto/.sdkmanrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service-proto/.sdkmanrc -------------------------------------------------------------------------------- /next-version/blog-service-proto/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service-proto/build.gradle -------------------------------------------------------------------------------- /next-version/blog-service-proto/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service-proto/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /next-version/blog-service-proto/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service-proto/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /next-version/blog-service-proto/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service-proto/gradlew -------------------------------------------------------------------------------- /next-version/blog-service-proto/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service-proto/gradlew.bat -------------------------------------------------------------------------------- /next-version/blog-service-proto/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'blog-service-proto' 2 | -------------------------------------------------------------------------------- /next-version/blog-service-proto/src/main/proto/blog.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service-proto/src/main/proto/blog.proto -------------------------------------------------------------------------------- /next-version/blog-service-proto/src/main/proto/draft.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service-proto/src/main/proto/draft.proto -------------------------------------------------------------------------------- /next-version/blog-service/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/.gitignore -------------------------------------------------------------------------------- /next-version/blog-service/.sdkmanrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/.sdkmanrc -------------------------------------------------------------------------------- /next-version/blog-service/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/build.gradle -------------------------------------------------------------------------------- /next-version/blog-service/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /next-version/blog-service/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /next-version/blog-service/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/gradlew -------------------------------------------------------------------------------- /next-version/blog-service/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/gradlew.bat -------------------------------------------------------------------------------- /next-version/blog-service/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/settings.gradle -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/BlogServiceApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/BlogServiceApplication.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/GlobalInterceptorConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/GlobalInterceptorConfiguration.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/BlogGrpcService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/BlogGrpcService.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/DraftGrpcService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/DraftGrpcService.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/interceptors/GlobalExceptionHandlerInterceptor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/interceptors/GlobalExceptionHandlerInterceptor.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/MyBatisSpringTransaction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/MyBatisSpringTransaction.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/blog/BlogMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/blog/BlogMapper.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/blog/BlogPO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/blog/BlogPO.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/blog/BlogRepositoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/blog/BlogRepositoryImpl.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/application/usecase/EditBlogUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/application/usecase/EditBlogUseCase.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/application/usecase/QueryDraftUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/application/usecase/QueryDraftUseCase.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/common/DomainException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/common/DomainException.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/common/EntityExistedException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/common/EntityExistedException.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/common/EntityNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/common/EntityNotFoundException.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/AggregateRoot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/AggregateRoot.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/DomainService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/DomainService.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/Entity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/Entity.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/Factory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/Factory.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/ReadModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/ReadModel.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/Repository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/Repository.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/ValueObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/concepts/ValueObject.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/Blog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/Blog.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/BlogDomainService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/BlogDomainService.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/BlogRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/BlogRepository.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/Draft.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/Draft.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/PublishedBlog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/PublishedBlog.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/exceptions/NoNeedToPublishException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/exceptions/NoNeedToPublishException.java -------------------------------------------------------------------------------- /next-version/blog-service/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/resources/application.yml -------------------------------------------------------------------------------- /next-version/blog-service/src/main/resources/db/migration/V20200502233649__create_blog_table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/resources/db/migration/V20200502233649__create_blog_table.sql -------------------------------------------------------------------------------- /next-version/blog-service/src/main/resources/mybatis/blog/Blog.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/resources/mybatis/blog/Blog.xml -------------------------------------------------------------------------------- /next-version/blog-service/src/main/resources/mybatis/blog/BlogMapper.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/main/resources/mybatis/blog/BlogMapper.xml -------------------------------------------------------------------------------- /next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/GrpcServiceIntegrationTestBase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/GrpcServiceIntegrationTestBase.java -------------------------------------------------------------------------------- /next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/BlogGrpcServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/BlogGrpcServiceTest.java -------------------------------------------------------------------------------- /next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/DraftGrpcServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/DraftGrpcServiceTest.java -------------------------------------------------------------------------------- /next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/DraftSpecification.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/inbound/grpc/blog/DraftSpecification.java -------------------------------------------------------------------------------- /next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/MapperIntegrationTestBase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/MapperIntegrationTestBase.java -------------------------------------------------------------------------------- /next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/blog/BlogMapperTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/adapters/outbound/persistence/blog/BlogMapperTest.java -------------------------------------------------------------------------------- /next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/BlogDomainServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/BlogDomainServiceTest.java -------------------------------------------------------------------------------- /next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/BlogTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/test/java/dev/huhao/samples/ddd/blogservice/domain/contexts/blogcontext/blog/BlogTest.java -------------------------------------------------------------------------------- /next-version/blog-service/src/test/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/next-version/blog-service/src/test/resources/application.yml -------------------------------------------------------------------------------- /spring-with-mybatis/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/.gitignore -------------------------------------------------------------------------------- /spring-with-mybatis/.sdkmanrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/.sdkmanrc -------------------------------------------------------------------------------- /spring-with-mybatis/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/build.gradle -------------------------------------------------------------------------------- /spring-with-mybatis/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /spring-with-mybatis/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /spring-with-mybatis/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/gradlew -------------------------------------------------------------------------------- /spring-with-mybatis/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/gradlew.bat -------------------------------------------------------------------------------- /spring-with-mybatis/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'ddd-sample-spring-with-mybatis' 2 | -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/SpringWithMyBatisApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/SpringWithMyBatisApplication.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/grpc/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/MyBatisSpringTransaction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/MyBatisSpringTransaction.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/handlers/GlobalExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/handlers/GlobalExceptionHandler.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/RequestDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/RequestDto.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/ResponseDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/ResponseDto.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogDto.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogResource.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogSubResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogSubResource.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/CreateBlogRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/CreateBlogRequest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/SaveDraftRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/blog/SaveDraftRequest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishBlogRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishBlogRequest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogDto.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogResource.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogSubResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogSubResource.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/gateway/DemoGatewayImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/gateway/DemoGatewayImpl.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/PersistenceObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/PersistenceObject.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/blog/BlogMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/blog/BlogMapper.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/blog/BlogPO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/blog/BlogPO.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/blog/BlogRepositoryImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/blog/BlogRepositoryImpl.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/blog/PublishedBlogPO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/adapters/outbound/persistence/blog/PublishedBlogPO.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/application/concepts/Gateway.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/application/concepts/Gateway.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/application/concepts/UseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/application/concepts/UseCase.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/application/dto/Page.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/application/dto/Page.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/application/gateway/DemoGateway.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/application/gateway/DemoGateway.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/application/usecases/EditBlogUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/application/usecases/EditBlogUseCase.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/application/usecases/QueryBlogUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/application/usecases/QueryBlogUseCase.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/application/usecases/QueryPublishedBlogUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/application/usecases/QueryPublishedBlogUseCase.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/Blog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/Blog.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogCriteria.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogCriteria.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogRepository.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogService.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/PublishedBlog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/PublishedBlog.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/exceptions/NoNeedToPublishException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/blogcontext/blog/exceptions/NoNeedToPublishException.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/usercontext/user/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/usercontext/user/User.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/usercontext/user/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/usercontext/user/UserRepository.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/usercontext/user/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/contexts/usercontext/user/UserService.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/common/Criteria.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/common/Criteria.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/common/excpetions/DomainException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/common/excpetions/DomainException.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/common/excpetions/EntityExistedException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/common/excpetions/EntityExistedException.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/common/excpetions/EntityNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/common/excpetions/EntityNotFoundException.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/AggregateRoot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/AggregateRoot.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/Entity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/Entity.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/Factory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/Factory.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/ReadModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/ReadModel.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/Repository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/Repository.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/Service.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/Service.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/ValueObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/java/study/huhao/demo/domain/core/concepts/ValueObject.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/resources/application.properties -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/resources/db/migration/V20190406234633__create_blog_table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/resources/db/migration/V20190406234633__create_blog_table.sql -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/resources/mybatis/blog/Blog.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/resources/mybatis/blog/Blog.xml -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/resources/mybatis/blog/BlogMapper.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/resources/mybatis/blog/BlogMapper.xml -------------------------------------------------------------------------------- /spring-with-mybatis/src/main/resources/mybatis/blog/PublishedBlog.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/main/resources/mybatis/blog/PublishedBlog.xml -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/architecture/ApplicationLayerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/architecture/ApplicationLayerTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/architecture/ArchitectureTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/architecture/ArchitectureTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/architecture/DomainLayerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/architecture/DomainLayerTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/architecture/GatewayTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/architecture/GatewayTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/architecture/LayeredArchitectureTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/architecture/LayeredArchitectureTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/architecture/PersistenceLayerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/architecture/PersistenceLayerTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/architecture/RestLayerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/architecture/RestLayerTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/BasePath.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/BasePath.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/BaseRequestSpecification.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/BaseRequestSpecification.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/BaseResponseSpecification.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/BaseResponseSpecification.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/ResourceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/ResourceTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogResourceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogResourceTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogSubResourceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/blog/BlogSubResourceTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogResourceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogResourceTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogSubResourceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/inbound/rest/resources/publishedblog/PublishedBlogSubResourceTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/outbound/persistence/MapperTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/outbound/persistence/MapperTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/adapters/outbound/persistence/blog/BlogMapperTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/adapters/outbound/persistence/blog/BlogMapperTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogServiceTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/java/study/huhao/demo/domain/contexts/blogcontext/blog/BlogTest.java -------------------------------------------------------------------------------- /spring-with-mybatis/src/test/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/howiehu/ddd-architecture-samples/HEAD/spring-with-mybatis/src/test/resources/application.properties --------------------------------------------------------------------------------