├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── README.md ├── docker-compose.yml ├── hexagonal-architecture-1.png ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── monicaribeiro │ │ └── arquiteturahexagonal │ │ ├── ArquiteturaHexagonalApplication.java │ │ ├── adapter │ │ ├── inbound │ │ │ └── controller │ │ │ │ ├── UserController.java │ │ │ │ ├── request │ │ │ │ └── CreateUserRequest.java │ │ │ │ └── response │ │ │ │ ├── MovieResponse.java │ │ │ │ └── UserResponse.java │ │ └── outbound │ │ │ ├── integration │ │ │ ├── FindMovieAdapter.java │ │ │ ├── OmdbClient.java │ │ │ └── OmdbMovieResponse.java │ │ │ └── repository │ │ │ ├── GetUserByIdAdapter.java │ │ │ ├── SaveUserAdapter.java │ │ │ ├── UserEntity.java │ │ │ └── UserRepository.java │ │ ├── config │ │ ├── BeanConfig.java │ │ └── exception │ │ │ ├── ApiErrorMessage.java │ │ │ ├── CustomExceptionHandler.java │ │ │ └── UserNotFoundException.java │ │ └── domain │ │ ├── domain │ │ ├── Movie.java │ │ └── User.java │ │ ├── ports │ │ ├── inbound │ │ │ ├── CreateUserUseCasePort.java │ │ │ └── GetUserByIdUseCasePort.java │ │ └── outbound │ │ │ ├── FindMovieAdapterPort.java │ │ │ ├── GetUserByIdAdapterPort.java │ │ │ └── SaveUserAdapterPort.java │ │ └── usecase │ │ ├── CreateUserUseCase.java │ │ └── GetUserByIdUseCase.java └── resources │ └── application.properties └── test └── java └── com └── monicaribeiro └── arquiteturahexagonal └── ArquiteturaHexagonalApplicationTests.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /hexagonal-architecture-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/hexagonal-architecture-1.png -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/ArquiteturaHexagonalApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/ArquiteturaHexagonalApplication.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/inbound/controller/UserController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/inbound/controller/UserController.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/inbound/controller/request/CreateUserRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/inbound/controller/request/CreateUserRequest.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/inbound/controller/response/MovieResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/inbound/controller/response/MovieResponse.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/inbound/controller/response/UserResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/inbound/controller/response/UserResponse.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/integration/FindMovieAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/integration/FindMovieAdapter.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/integration/OmdbClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/integration/OmdbClient.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/integration/OmdbMovieResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/integration/OmdbMovieResponse.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/repository/GetUserByIdAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/repository/GetUserByIdAdapter.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/repository/SaveUserAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/repository/SaveUserAdapter.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/repository/UserEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/repository/UserEntity.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/repository/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/adapter/outbound/repository/UserRepository.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/config/BeanConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/config/BeanConfig.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/config/exception/ApiErrorMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/config/exception/ApiErrorMessage.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/config/exception/CustomExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/config/exception/CustomExceptionHandler.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/config/exception/UserNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/config/exception/UserNotFoundException.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/domain/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/domain/Movie.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/domain/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/domain/User.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/inbound/CreateUserUseCasePort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/inbound/CreateUserUseCasePort.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/inbound/GetUserByIdUseCasePort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/inbound/GetUserByIdUseCasePort.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/outbound/FindMovieAdapterPort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/outbound/FindMovieAdapterPort.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/outbound/GetUserByIdAdapterPort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/outbound/GetUserByIdAdapterPort.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/outbound/SaveUserAdapterPort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/ports/outbound/SaveUserAdapterPort.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/usecase/CreateUserUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/usecase/CreateUserUseCase.java -------------------------------------------------------------------------------- /src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/usecase/GetUserByIdUseCase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/java/com/monicaribeiro/arquiteturahexagonal/domain/usecase/GetUserByIdUseCase.java -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/test/java/com/monicaribeiro/arquiteturahexagonal/ArquiteturaHexagonalApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/monicaribeiro/arquitetura-hexagonal/HEAD/src/test/java/com/monicaribeiro/arquiteturahexagonal/ArquiteturaHexagonalApplicationTests.java --------------------------------------------------------------------------------