├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── martinachov │ │ └── hexagonal │ │ ├── HexagonalArchitectureApplication.java │ │ ├── application │ │ └── ports │ │ │ ├── input │ │ │ ├── CreateProductUseCase.java │ │ │ └── GetProductUseCase.java │ │ │ └── output │ │ │ └── ProductOutputPort.java │ │ ├── domain │ │ ├── exception │ │ │ └── ProductNotFoundException.java │ │ ├── model │ │ │ └── Product.java │ │ └── service │ │ │ └── ProductService.java │ │ └── infrastructure │ │ └── adapters │ │ ├── config │ │ └── BeanConfiguration.java │ │ ├── input │ │ ├── ProductRestAdapter.java │ │ └── rest │ │ │ └── data │ │ │ ├── request │ │ │ └── ProductRequest.java │ │ │ └── response │ │ │ └── ProductResponse.java │ │ └── output │ │ └── persistence │ │ ├── ProductPersistenceAdapter.java │ │ ├── entity │ │ └── ProductEntity.java │ │ ├── mapper │ │ └── ProductMapper.java │ │ └── repository │ │ └── ProductRepository.java └── resources │ └── application.yml └── test └── java └── com └── martinachov └── hexagonal └── HexagonalArchitectureApplicationTests.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/README.md -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/HexagonalArchitectureApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/HexagonalArchitectureApplication.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/application/ports/input/CreateProductUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/application/ports/input/CreateProductUseCase.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/application/ports/input/GetProductUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/application/ports/input/GetProductUseCase.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/application/ports/output/ProductOutputPort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/application/ports/output/ProductOutputPort.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/domain/exception/ProductNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/domain/exception/ProductNotFoundException.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/domain/model/Product.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/domain/model/Product.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/domain/service/ProductService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/domain/service/ProductService.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/infrastructure/adapters/config/BeanConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/infrastructure/adapters/config/BeanConfiguration.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/infrastructure/adapters/input/ProductRestAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/infrastructure/adapters/input/ProductRestAdapter.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/infrastructure/adapters/input/rest/data/request/ProductRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/infrastructure/adapters/input/rest/data/request/ProductRequest.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/infrastructure/adapters/input/rest/data/response/ProductResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/infrastructure/adapters/input/rest/data/response/ProductResponse.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/infrastructure/adapters/output/persistence/ProductPersistenceAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/infrastructure/adapters/output/persistence/ProductPersistenceAdapter.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/infrastructure/adapters/output/persistence/entity/ProductEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/infrastructure/adapters/output/persistence/entity/ProductEntity.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/infrastructure/adapters/output/persistence/mapper/ProductMapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/infrastructure/adapters/output/persistence/mapper/ProductMapper.java -------------------------------------------------------------------------------- /src/main/java/com/martinachov/hexagonal/infrastructure/adapters/output/persistence/repository/ProductRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/java/com/martinachov/hexagonal/infrastructure/adapters/output/persistence/repository/ProductRepository.java -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/main/resources/application.yml -------------------------------------------------------------------------------- /src/test/java/com/martinachov/hexagonal/HexagonalArchitectureApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/martinachov/hexagonal-architecture-ddd-springboot/HEAD/src/test/java/com/martinachov/hexagonal/HexagonalArchitectureApplicationTests.java --------------------------------------------------------------------------------