├── .editorconfig ├── .gitattributes ├── .gitignore ├── Dockerfile ├── README.md ├── app ├── adapters │ ├── env │ │ ├── build.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── adapters │ │ │ └── env │ │ │ ├── AppOsEnvironment.kt │ │ │ ├── EnvModule.kt │ │ │ └── HoconBasedAppConfig.kt │ ├── persist │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── main │ │ │ └── kotlin │ │ │ │ └── adapters │ │ │ │ └── persist │ │ │ │ ├── DatabaseConnector.kt │ │ │ │ ├── PersistenceModule.kt │ │ │ │ ├── SqlToDomainErrorMapper.kt │ │ │ │ ├── addressbook │ │ │ │ ├── AddressBookMappers.kt │ │ │ │ ├── LoadPersonAdapter.kt │ │ │ │ ├── SavePersonAdapter.kt │ │ │ │ └── repo │ │ │ │ │ ├── AddressBookSqlEntities.kt │ │ │ │ │ ├── PersonRepo.kt │ │ │ │ │ ├── PostalAddressRepo.kt │ │ │ │ │ └── SqlEntitiesToExposedSql.kt │ │ │ │ └── util │ │ │ │ ├── DatabaseErrorInspector.kt │ │ │ │ └── postgresql │ │ │ │ ├── PgErrorInspector.kt │ │ │ │ └── PgUpsert.kt │ │ │ └── test │ │ │ ├── kotlin │ │ │ └── adapters │ │ │ │ └── persist │ │ │ │ └── addressbook │ │ │ │ ├── TestDeleteAddressBookAdapters.kt │ │ │ │ ├── TestLoadAddressBookAdapters.kt │ │ │ │ ├── TestSaveAddressBookAdapters.kt │ │ │ │ └── Utils.kt │ │ │ └── resources │ │ │ └── logback.xml │ ├── primary-web │ │ ├── build.gradle.kts │ │ └── src │ │ │ ├── main │ │ │ ├── kotlin │ │ │ │ └── adapters │ │ │ │ │ └── primaryweb │ │ │ │ │ ├── DomainToRestError.kt │ │ │ │ │ ├── MapperDomainToRest.kt │ │ │ │ │ ├── MapperRestToDomain.kt │ │ │ │ │ ├── WebBootstrap.kt │ │ │ │ │ ├── gen │ │ │ │ │ └── models │ │ │ │ │ │ ├── RestErrorResponse.kt │ │ │ │ │ │ ├── RestErrorSpecificsResponse.kt │ │ │ │ │ │ ├── RestGender.kt │ │ │ │ │ │ ├── RestHealthResponse.kt │ │ │ │ │ │ ├── RestPersonResponse.kt │ │ │ │ │ │ ├── RestPostalAddressResponse.kt │ │ │ │ │ │ ├── RestSavePersonRequest.kt │ │ │ │ │ │ └── RestSavePostalAddressRequest.kt │ │ │ │ │ ├── routes │ │ │ │ │ ├── AddressBookRoute.kt │ │ │ │ │ └── HealthRoute.kt │ │ │ │ │ └── util │ │ │ │ │ ├── RestApplicationCall.kt │ │ │ │ │ └── RestExceptions.kt │ │ │ └── resources │ │ │ │ └── openapi │ │ │ │ └── addrbook.yaml │ │ │ └── test │ │ │ └── kotlin │ │ │ └── adapters │ │ │ └── primaryweb │ │ │ └── routes │ │ │ ├── Helpers.kt │ │ │ ├── TestAddressBookGetAllPersonsRoute.kt │ │ │ └── TestAddressBookGetPersonByIdRoute.kt │ └── remoting │ │ ├── build.gradle.kts │ │ └── src │ │ └── main │ │ └── kotlin │ │ └── adapters │ │ └── remoting │ │ ├── HttpClient.kt │ │ ├── RemotingModule.kt │ │ └── randomperson │ │ ├── RandomPersonAdapter.kt │ │ ├── RandomPersonHttpClient.kt │ │ ├── RandomPersonMapper.kt │ │ └── RandomPersonResponseDto.kt ├── common │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── kotlin │ │ └── common │ │ └── log │ │ └── RequestId.kt ├── core │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── kotlin │ │ └── core │ │ ├── CoreModule.kt │ │ ├── errors │ │ ├── DomainException.kt │ │ ├── ResourceAlreadyExistsException.kt │ │ └── ResourceNotFoundException.kt │ │ ├── models │ │ └── AddressBook.kt │ │ ├── outport │ │ ├── AddressBookPorts.kt │ │ ├── EnvPorts.kt │ │ ├── GenerateRandomPersonPort.kt │ │ └── PersistPorts.kt │ │ ├── services │ │ ├── AddressBookServices.kt │ │ ├── HealthStatusService.kt │ │ └── ServiceModule.kt │ │ └── usecase │ │ ├── AddressBookUsecase.kt │ │ ├── HealthStatusUsecase.kt │ │ └── PopulateRandomPersonUsecase.kt └── infra │ ├── build.gradle.kts │ └── src │ └── main │ ├── kotlin │ └── infra │ │ └── App.kt │ └── resources │ ├── application-dev.conf │ ├── application.conf │ ├── config-common.conf │ ├── config-local.conf │ ├── config-prod.conf │ └── logback.xml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── openapitools.json └── settings.gradle.kts /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/README.md -------------------------------------------------------------------------------- /app/adapters/env/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/env/build.gradle.kts -------------------------------------------------------------------------------- /app/adapters/env/src/main/kotlin/adapters/env/AppOsEnvironment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/env/src/main/kotlin/adapters/env/AppOsEnvironment.kt -------------------------------------------------------------------------------- /app/adapters/env/src/main/kotlin/adapters/env/EnvModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/env/src/main/kotlin/adapters/env/EnvModule.kt -------------------------------------------------------------------------------- /app/adapters/env/src/main/kotlin/adapters/env/HoconBasedAppConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/env/src/main/kotlin/adapters/env/HoconBasedAppConfig.kt -------------------------------------------------------------------------------- /app/adapters/persist/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/build.gradle.kts -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/DatabaseConnector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/DatabaseConnector.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/PersistenceModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/PersistenceModule.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/SqlToDomainErrorMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/SqlToDomainErrorMapper.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/AddressBookMappers.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/AddressBookMappers.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/LoadPersonAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/LoadPersonAdapter.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/SavePersonAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/SavePersonAdapter.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/repo/AddressBookSqlEntities.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/repo/AddressBookSqlEntities.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/repo/PersonRepo.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/repo/PersonRepo.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/repo/PostalAddressRepo.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/repo/PostalAddressRepo.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/repo/SqlEntitiesToExposedSql.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/addressbook/repo/SqlEntitiesToExposedSql.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/util/DatabaseErrorInspector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/util/DatabaseErrorInspector.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/util/postgresql/PgErrorInspector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/util/postgresql/PgErrorInspector.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/main/kotlin/adapters/persist/util/postgresql/PgUpsert.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/main/kotlin/adapters/persist/util/postgresql/PgUpsert.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/test/kotlin/adapters/persist/addressbook/TestDeleteAddressBookAdapters.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/test/kotlin/adapters/persist/addressbook/TestDeleteAddressBookAdapters.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/test/kotlin/adapters/persist/addressbook/TestLoadAddressBookAdapters.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/test/kotlin/adapters/persist/addressbook/TestLoadAddressBookAdapters.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/test/kotlin/adapters/persist/addressbook/TestSaveAddressBookAdapters.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/test/kotlin/adapters/persist/addressbook/TestSaveAddressBookAdapters.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/test/kotlin/adapters/persist/addressbook/Utils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/test/kotlin/adapters/persist/addressbook/Utils.kt -------------------------------------------------------------------------------- /app/adapters/persist/src/test/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/persist/src/test/resources/logback.xml -------------------------------------------------------------------------------- /app/adapters/primary-web/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/build.gradle.kts -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/DomainToRestError.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/DomainToRestError.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/MapperDomainToRest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/MapperDomainToRest.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/MapperRestToDomain.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/MapperRestToDomain.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/WebBootstrap.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/WebBootstrap.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestErrorResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestErrorResponse.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestErrorSpecificsResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestErrorSpecificsResponse.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestGender.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestGender.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestHealthResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestHealthResponse.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestPersonResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestPersonResponse.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestPostalAddressResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestPostalAddressResponse.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestSavePersonRequest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestSavePersonRequest.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestSavePostalAddressRequest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/gen/models/RestSavePostalAddressRequest.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/routes/AddressBookRoute.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/routes/AddressBookRoute.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/routes/HealthRoute.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/routes/HealthRoute.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/util/RestApplicationCall.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/util/RestApplicationCall.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/util/RestExceptions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/kotlin/adapters/primaryweb/util/RestExceptions.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/main/resources/openapi/addrbook.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/main/resources/openapi/addrbook.yaml -------------------------------------------------------------------------------- /app/adapters/primary-web/src/test/kotlin/adapters/primaryweb/routes/Helpers.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/test/kotlin/adapters/primaryweb/routes/Helpers.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/test/kotlin/adapters/primaryweb/routes/TestAddressBookGetAllPersonsRoute.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/test/kotlin/adapters/primaryweb/routes/TestAddressBookGetAllPersonsRoute.kt -------------------------------------------------------------------------------- /app/adapters/primary-web/src/test/kotlin/adapters/primaryweb/routes/TestAddressBookGetPersonByIdRoute.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/primary-web/src/test/kotlin/adapters/primaryweb/routes/TestAddressBookGetPersonByIdRoute.kt -------------------------------------------------------------------------------- /app/adapters/remoting/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/remoting/build.gradle.kts -------------------------------------------------------------------------------- /app/adapters/remoting/src/main/kotlin/adapters/remoting/HttpClient.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/remoting/src/main/kotlin/adapters/remoting/HttpClient.kt -------------------------------------------------------------------------------- /app/adapters/remoting/src/main/kotlin/adapters/remoting/RemotingModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/remoting/src/main/kotlin/adapters/remoting/RemotingModule.kt -------------------------------------------------------------------------------- /app/adapters/remoting/src/main/kotlin/adapters/remoting/randomperson/RandomPersonAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/remoting/src/main/kotlin/adapters/remoting/randomperson/RandomPersonAdapter.kt -------------------------------------------------------------------------------- /app/adapters/remoting/src/main/kotlin/adapters/remoting/randomperson/RandomPersonHttpClient.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/remoting/src/main/kotlin/adapters/remoting/randomperson/RandomPersonHttpClient.kt -------------------------------------------------------------------------------- /app/adapters/remoting/src/main/kotlin/adapters/remoting/randomperson/RandomPersonMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/remoting/src/main/kotlin/adapters/remoting/randomperson/RandomPersonMapper.kt -------------------------------------------------------------------------------- /app/adapters/remoting/src/main/kotlin/adapters/remoting/randomperson/RandomPersonResponseDto.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/adapters/remoting/src/main/kotlin/adapters/remoting/randomperson/RandomPersonResponseDto.kt -------------------------------------------------------------------------------- /app/common/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/common/build.gradle.kts -------------------------------------------------------------------------------- /app/common/src/main/kotlin/common/log/RequestId.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/common/src/main/kotlin/common/log/RequestId.kt -------------------------------------------------------------------------------- /app/core/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/build.gradle.kts -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/CoreModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/CoreModule.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/errors/DomainException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/errors/DomainException.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/errors/ResourceAlreadyExistsException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/errors/ResourceAlreadyExistsException.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/errors/ResourceNotFoundException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/errors/ResourceNotFoundException.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/models/AddressBook.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/models/AddressBook.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/outport/AddressBookPorts.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/outport/AddressBookPorts.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/outport/EnvPorts.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/outport/EnvPorts.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/outport/GenerateRandomPersonPort.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/outport/GenerateRandomPersonPort.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/outport/PersistPorts.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/outport/PersistPorts.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/services/AddressBookServices.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/services/AddressBookServices.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/services/HealthStatusService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/services/HealthStatusService.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/services/ServiceModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/services/ServiceModule.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/usecase/AddressBookUsecase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/usecase/AddressBookUsecase.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/usecase/HealthStatusUsecase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/usecase/HealthStatusUsecase.kt -------------------------------------------------------------------------------- /app/core/src/main/kotlin/core/usecase/PopulateRandomPersonUsecase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/core/src/main/kotlin/core/usecase/PopulateRandomPersonUsecase.kt -------------------------------------------------------------------------------- /app/infra/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/infra/build.gradle.kts -------------------------------------------------------------------------------- /app/infra/src/main/kotlin/infra/App.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/infra/src/main/kotlin/infra/App.kt -------------------------------------------------------------------------------- /app/infra/src/main/resources/application-dev.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/infra/src/main/resources/application-dev.conf -------------------------------------------------------------------------------- /app/infra/src/main/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/infra/src/main/resources/application.conf -------------------------------------------------------------------------------- /app/infra/src/main/resources/config-common.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/infra/src/main/resources/config-common.conf -------------------------------------------------------------------------------- /app/infra/src/main/resources/config-local.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/infra/src/main/resources/config-local.conf -------------------------------------------------------------------------------- /app/infra/src/main/resources/config-prod.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/infra/src/main/resources/config-prod.conf -------------------------------------------------------------------------------- /app/infra/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/app/infra/src/main/resources/logback.xml -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/gradlew.bat -------------------------------------------------------------------------------- /openapitools.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/openapitools.json -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mobiletoly/ktor-hexagonal-multimodule/HEAD/settings.gradle.kts --------------------------------------------------------------------------------