├── .github ├── dependabot.yml └── workflows │ └── gradle.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle ├── spec-api ├── Conduit.postman_collection.json ├── README.md └── run-api-tests.sh └── src ├── main ├── kotlin │ └── io │ │ └── realworld │ │ └── app │ │ ├── App.kt │ │ ├── config │ │ ├── AppConfig.kt │ │ ├── DbConfig.kt │ │ └── ModulesConfig.kt │ │ ├── domain │ │ ├── Article.kt │ │ ├── Comment.kt │ │ ├── Profile.kt │ │ ├── Tag.kt │ │ ├── User.kt │ │ ├── exceptions │ │ │ ├── NotFoundException.kt │ │ │ └── UnauthorizedException.kt │ │ ├── repository │ │ │ ├── TagRepository.kt │ │ │ └── UserRepository.kt │ │ └── service │ │ │ ├── TagService.kt │ │ │ └── UserService.kt │ │ ├── ext │ │ └── String.kt │ │ ├── utils │ │ ├── Cipher.kt │ │ └── JwtProvider.kt │ │ └── web │ │ ├── ErrorExceptionMapping.kt │ │ ├── Router.kt │ │ └── controllers │ │ ├── ArticleController.kt │ │ ├── CommentController.kt │ │ ├── ProfileController.kt │ │ ├── TagController.kt │ │ └── UserController.kt └── resources │ └── application.conf └── test └── kotlin └── io └── realworld └── app └── web ├── controllers ├── ArticleControllerTest.kt ├── CommentControllerTest.kt ├── ProfileControllerTest.kt ├── TagControllerTest.kt └── UserControllerTest.kt ├── rules └── AppRule.kt └── util └── HttpUtil.kt /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/gradle.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/.github/workflows/gradle.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/README.md -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'api' 2 | 3 | -------------------------------------------------------------------------------- /spec-api/Conduit.postman_collection.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/spec-api/Conduit.postman_collection.json -------------------------------------------------------------------------------- /spec-api/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/spec-api/README.md -------------------------------------------------------------------------------- /spec-api/run-api-tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/spec-api/run-api-tests.sh -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/App.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/App.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/config/AppConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/config/AppConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/config/DbConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/config/DbConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/config/ModulesConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/config/ModulesConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/Article.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/Article.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/Comment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/Comment.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/Profile.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/Profile.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/Tag.kt: -------------------------------------------------------------------------------- 1 | package io.realworld.app.domain 2 | 3 | data class TagDTO(val tags: List) -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/User.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/User.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/exceptions/NotFoundException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/exceptions/NotFoundException.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/exceptions/UnauthorizedException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/exceptions/UnauthorizedException.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/repository/TagRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/repository/TagRepository.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/repository/UserRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/repository/UserRepository.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/service/TagService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/service/TagService.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/domain/service/UserService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/domain/service/UserService.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/ext/String.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/ext/String.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/utils/Cipher.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/utils/Cipher.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/utils/JwtProvider.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/utils/JwtProvider.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/web/ErrorExceptionMapping.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/web/ErrorExceptionMapping.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/web/Router.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/web/Router.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/web/controllers/ArticleController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/web/controllers/ArticleController.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/web/controllers/CommentController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/web/controllers/CommentController.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/web/controllers/ProfileController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/web/controllers/ProfileController.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/web/controllers/TagController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/web/controllers/TagController.kt -------------------------------------------------------------------------------- /src/main/kotlin/io/realworld/app/web/controllers/UserController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/kotlin/io/realworld/app/web/controllers/UserController.kt -------------------------------------------------------------------------------- /src/main/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/main/resources/application.conf -------------------------------------------------------------------------------- /src/test/kotlin/io/realworld/app/web/controllers/ArticleControllerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/test/kotlin/io/realworld/app/web/controllers/ArticleControllerTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/io/realworld/app/web/controllers/CommentControllerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/test/kotlin/io/realworld/app/web/controllers/CommentControllerTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/io/realworld/app/web/controllers/ProfileControllerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/test/kotlin/io/realworld/app/web/controllers/ProfileControllerTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/io/realworld/app/web/controllers/TagControllerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/test/kotlin/io/realworld/app/web/controllers/TagControllerTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/io/realworld/app/web/controllers/UserControllerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/test/kotlin/io/realworld/app/web/controllers/UserControllerTest.kt -------------------------------------------------------------------------------- /src/test/kotlin/io/realworld/app/web/rules/AppRule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/test/kotlin/io/realworld/app/web/rules/AppRule.kt -------------------------------------------------------------------------------- /src/test/kotlin/io/realworld/app/web/util/HttpUtil.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rudge/kotlin-ktor-realworld-example-app/HEAD/src/test/kotlin/io/realworld/app/web/util/HttpUtil.kt --------------------------------------------------------------------------------