├── .circleci └── config.yml ├── .gitignore ├── CODEOWNERS ├── README.md ├── api ├── Dockerfile ├── build.gradle └── src │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── yunikov │ │ │ └── api │ │ │ ├── ApiApplication.kt │ │ │ ├── SecurityConfig.kt │ │ │ ├── WebConfig.kt │ │ │ ├── errors │ │ │ ├── ErrorHandler.kt │ │ │ ├── ErrorResponse.kt │ │ │ ├── HttpErrorHandler.kt │ │ │ ├── WebExceptionHandler.kt │ │ │ └── exceptions │ │ │ │ └── ResourceNotFoundException.kt │ │ │ ├── security │ │ │ ├── JWTAccessDeniedHandler.kt │ │ │ ├── JWTAuthenticationConverter.kt │ │ │ ├── JWTAuthenticationFailureHandler.kt │ │ │ ├── JWTAuthenticationManager.kt │ │ │ └── JWTClient.kt │ │ │ └── test │ │ │ ├── TestHandler.kt │ │ │ └── TestResponse.kt │ └── resources │ │ ├── application.properties │ │ ├── file-appender.xml │ │ └── logback-file.xml │ └── test │ ├── kotlin │ └── com │ │ └── yunikov │ │ └── api │ │ ├── ActuatorEndpointsIntegrationTest.kt │ │ ├── TestApiApplication.kt │ │ └── errors │ │ └── ErrorHandlerTest.kt │ └── resources │ ├── application-test.properties │ └── test.properties ├── docker-compose.yml ├── domain ├── build.gradle └── src │ ├── main │ └── kotlin │ │ └── com │ │ └── yunikov │ │ └── domain │ │ ├── DomainConfig.kt │ │ ├── MongoConfig.kt │ │ ├── Repositories.kt │ │ ├── common │ │ ├── Entity.kt │ │ └── Storable.kt │ │ ├── migrations │ │ └── InitialChangeLog.kt │ │ ├── test │ │ ├── DefaultTestService.kt │ │ └── TestService.kt │ │ └── user │ │ ├── User.kt │ │ └── UserRole.kt │ └── test │ ├── kotlin │ └── com │ │ └── yunikov │ │ └── domain │ │ ├── TestDomainConfig.kt │ │ ├── TestMongoConfig.kt │ │ └── TestRepositoryConfig.kt │ └── resources │ └── test.properties ├── gradle.properties ├── gradle ├── profile_dev.gradle ├── profile_prod.gradle ├── profiles.gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.circleci/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/.circleci/config.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/.gitignore -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @yyunikov -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/README.md -------------------------------------------------------------------------------- /api/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/Dockerfile -------------------------------------------------------------------------------- /api/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/build.gradle -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/ApiApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/ApiApplication.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/SecurityConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/SecurityConfig.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/WebConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/WebConfig.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/errors/ErrorHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/errors/ErrorHandler.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/errors/ErrorResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/errors/ErrorResponse.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/errors/HttpErrorHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/errors/HttpErrorHandler.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/errors/WebExceptionHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/errors/WebExceptionHandler.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/errors/exceptions/ResourceNotFoundException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/errors/exceptions/ResourceNotFoundException.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/security/JWTAccessDeniedHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/security/JWTAccessDeniedHandler.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/security/JWTAuthenticationConverter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/security/JWTAuthenticationConverter.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/security/JWTAuthenticationFailureHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/security/JWTAuthenticationFailureHandler.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/security/JWTAuthenticationManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/security/JWTAuthenticationManager.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/security/JWTClient.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/security/JWTClient.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/test/TestHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/test/TestHandler.kt -------------------------------------------------------------------------------- /api/src/main/kotlin/com/yunikov/api/test/TestResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/kotlin/com/yunikov/api/test/TestResponse.kt -------------------------------------------------------------------------------- /api/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/resources/application.properties -------------------------------------------------------------------------------- /api/src/main/resources/file-appender.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/resources/file-appender.xml -------------------------------------------------------------------------------- /api/src/main/resources/logback-file.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/main/resources/logback-file.xml -------------------------------------------------------------------------------- /api/src/test/kotlin/com/yunikov/api/ActuatorEndpointsIntegrationTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/test/kotlin/com/yunikov/api/ActuatorEndpointsIntegrationTest.kt -------------------------------------------------------------------------------- /api/src/test/kotlin/com/yunikov/api/TestApiApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/test/kotlin/com/yunikov/api/TestApiApplication.kt -------------------------------------------------------------------------------- /api/src/test/kotlin/com/yunikov/api/errors/ErrorHandlerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/test/kotlin/com/yunikov/api/errors/ErrorHandlerTest.kt -------------------------------------------------------------------------------- /api/src/test/resources/application-test.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/test/resources/application-test.properties -------------------------------------------------------------------------------- /api/src/test/resources/test.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/api/src/test/resources/test.properties -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /domain/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/build.gradle -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/DomainConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/DomainConfig.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/MongoConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/MongoConfig.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/Repositories.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/Repositories.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/common/Entity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/common/Entity.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/common/Storable.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/common/Storable.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/migrations/InitialChangeLog.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/migrations/InitialChangeLog.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/test/DefaultTestService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/test/DefaultTestService.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/test/TestService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/test/TestService.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/user/User.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/user/User.kt -------------------------------------------------------------------------------- /domain/src/main/kotlin/com/yunikov/domain/user/UserRole.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/main/kotlin/com/yunikov/domain/user/UserRole.kt -------------------------------------------------------------------------------- /domain/src/test/kotlin/com/yunikov/domain/TestDomainConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/test/kotlin/com/yunikov/domain/TestDomainConfig.kt -------------------------------------------------------------------------------- /domain/src/test/kotlin/com/yunikov/domain/TestMongoConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/test/kotlin/com/yunikov/domain/TestMongoConfig.kt -------------------------------------------------------------------------------- /domain/src/test/kotlin/com/yunikov/domain/TestRepositoryConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/domain/src/test/kotlin/com/yunikov/domain/TestRepositoryConfig.kt -------------------------------------------------------------------------------- /domain/src/test/resources/test.properties: -------------------------------------------------------------------------------- 1 | test.mongodb.port=27018 -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/profile_dev.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/gradle/profile_dev.gradle -------------------------------------------------------------------------------- /gradle/profile_prod.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/gradle/profile_prod.gradle -------------------------------------------------------------------------------- /gradle/profiles.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/gradle/profiles.gradle -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yyunikov/spring-boot-2-kotlin-starter/HEAD/settings.gradle --------------------------------------------------------------------------------