├── .gitattributes ├── .gitignore ├── README.md ├── docker-compose.yml ├── lombok.config ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── github │ │ └── cleanddd │ │ ├── core │ │ ├── GenericEnrollmentError.java │ │ ├── model │ │ │ ├── InvalidDomainEntityError.java │ │ │ ├── course │ │ │ │ └── Course.java │ │ │ ├── enrollment │ │ │ │ ├── EnrollResult.java │ │ │ │ └── Enrollment.java │ │ │ └── student │ │ │ │ └── Student.java │ │ ├── port │ │ │ ├── ErrorHandlingPresenterOutputPort.java │ │ │ ├── db │ │ │ │ ├── EntityDoesNotExistError.java │ │ │ │ ├── PersistenceError.java │ │ │ │ └── PersistenceOperationsOutputPort.java │ │ │ └── transaction │ │ │ │ ├── TransactionOperationsOutputPort.java │ │ │ │ ├── TransactionRunnableWithResult.java │ │ │ │ └── TransactionRunnableWithoutResult.java │ │ └── usecase │ │ │ └── enrollstudent │ │ │ ├── EnrollStudentInputPort.java │ │ │ ├── EnrollStudentPresenterOutputPort.java │ │ │ └── EnrollStudentUseCase.java │ │ └── infrastructure │ │ ├── CleanDddApplication.java │ │ ├── adapter │ │ ├── db │ │ │ ├── PersistenceGateway.java │ │ │ ├── course │ │ │ │ ├── CourseEntity.java │ │ │ │ └── CourseEntityRepository.java │ │ │ ├── enrollment │ │ │ │ ├── EnrollmentRow.java │ │ │ │ └── EnrollmentsQuery.java │ │ │ ├── map │ │ │ │ ├── DbMapper.java │ │ │ │ └── DefaultDbMapper.java │ │ │ └── student │ │ │ │ ├── StudentEntity.java │ │ │ │ └── StudentEntityRepository.java │ │ ├── transaction │ │ │ └── SpringTransactionAdapter.java │ │ └── web │ │ │ ├── AbstractRestPresenter.java │ │ │ └── enrollstudent │ │ │ ├── CreateCourseRequest.java │ │ │ ├── CreateCourseResponse.java │ │ │ ├── CreateStudentRequest.java │ │ │ ├── CreateStudentResponse.java │ │ │ ├── EnrollRequest.java │ │ │ ├── EnrollStudentController.java │ │ │ └── EnrollStudentPresenter.java │ │ └── config │ │ ├── TransactionConfig.java │ │ └── UseCaseConfig.java └── resources │ └── application.properties └── test └── java └── com └── github └── cleanddd ├── adapter └── db │ └── map │ └── DbMapperTest.java ├── arhunit └── HexagonalArchitectureTest.java ├── model └── ModelTest.java └── usecase └── EnrollStudentUseCaseTest.java /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .idea/ 3 | target/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /lombok.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/lombok.config -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/GenericEnrollmentError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/GenericEnrollmentError.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/model/InvalidDomainEntityError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/model/InvalidDomainEntityError.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/model/course/Course.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/model/course/Course.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/model/enrollment/EnrollResult.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/model/enrollment/EnrollResult.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/model/enrollment/Enrollment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/model/enrollment/Enrollment.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/model/student/Student.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/model/student/Student.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/port/ErrorHandlingPresenterOutputPort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/port/ErrorHandlingPresenterOutputPort.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/port/db/EntityDoesNotExistError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/port/db/EntityDoesNotExistError.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/port/db/PersistenceError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/port/db/PersistenceError.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/port/db/PersistenceOperationsOutputPort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/port/db/PersistenceOperationsOutputPort.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/port/transaction/TransactionOperationsOutputPort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/port/transaction/TransactionOperationsOutputPort.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/port/transaction/TransactionRunnableWithResult.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/port/transaction/TransactionRunnableWithResult.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/port/transaction/TransactionRunnableWithoutResult.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/port/transaction/TransactionRunnableWithoutResult.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/usecase/enrollstudent/EnrollStudentInputPort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/usecase/enrollstudent/EnrollStudentInputPort.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/usecase/enrollstudent/EnrollStudentPresenterOutputPort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/usecase/enrollstudent/EnrollStudentPresenterOutputPort.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/core/usecase/enrollstudent/EnrollStudentUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/core/usecase/enrollstudent/EnrollStudentUseCase.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/CleanDddApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/CleanDddApplication.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/db/PersistenceGateway.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/db/PersistenceGateway.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/db/course/CourseEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/db/course/CourseEntity.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/db/course/CourseEntityRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/db/course/CourseEntityRepository.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/db/enrollment/EnrollmentRow.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/db/enrollment/EnrollmentRow.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/db/enrollment/EnrollmentsQuery.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/db/enrollment/EnrollmentsQuery.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/db/map/DbMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/db/map/DbMapper.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/db/map/DefaultDbMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/db/map/DefaultDbMapper.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/db/student/StudentEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/db/student/StudentEntity.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/db/student/StudentEntityRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/db/student/StudentEntityRepository.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/transaction/SpringTransactionAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/transaction/SpringTransactionAdapter.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/web/AbstractRestPresenter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/web/AbstractRestPresenter.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/CreateCourseRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/CreateCourseRequest.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/CreateCourseResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/CreateCourseResponse.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/CreateStudentRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/CreateStudentRequest.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/CreateStudentResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/CreateStudentResponse.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/EnrollRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/EnrollRequest.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/EnrollStudentController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/EnrollStudentController.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/EnrollStudentPresenter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/adapter/web/enrollstudent/EnrollStudentPresenter.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/config/TransactionConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/config/TransactionConfig.java -------------------------------------------------------------------------------- /src/main/java/com/github/cleanddd/infrastructure/config/UseCaseConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/java/com/github/cleanddd/infrastructure/config/UseCaseConfig.java -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/test/java/com/github/cleanddd/adapter/db/map/DbMapperTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/test/java/com/github/cleanddd/adapter/db/map/DbMapperTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/cleanddd/arhunit/HexagonalArchitectureTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/test/java/com/github/cleanddd/arhunit/HexagonalArchitectureTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/cleanddd/model/ModelTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/test/java/com/github/cleanddd/model/ModelTest.java -------------------------------------------------------------------------------- /src/test/java/com/github/cleanddd/usecase/EnrollStudentUseCaseTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gushakov/cleanddd/HEAD/src/test/java/com/github/cleanddd/usecase/EnrollStudentUseCaseTest.java --------------------------------------------------------------------------------