├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── docker-compose.yml ├── logo.png ├── project ├── build.properties └── plugins.sbt ├── sbt ├── sbt.bat └── src ├── main ├── resources │ ├── application.conf │ └── db │ │ └── migration │ │ └── V1__Create_initial_tables.sql └── scala │ └── realworld │ └── com │ ├── Main.scala │ ├── articles │ ├── ArticleRoute.scala │ ├── ArticleService.scala │ ├── ArticleStorage.scala │ ├── ArticleTable.scala │ ├── ArticleTagTable.scala │ ├── FavoriteTable.scala │ ├── TagTable.scala │ ├── comments │ │ ├── CommentRoute.scala │ │ ├── CommentService.scala │ │ ├── CommentStorage.scala │ │ ├── CommentTable.scala │ │ └── package.scala │ └── package.scala │ ├── profile │ ├── ProfileRoute.scala │ ├── ProfileService.scala │ ├── UserFollowersTable.scala │ └── core.scala │ ├── routes │ └── HttpRoute.scala │ ├── tags │ ├── TagRoute.scala │ ├── TagService.scala │ ├── TagStorage.scala │ └── package.scala │ ├── users │ ├── UserProfileTable.scala │ ├── UserRoute.scala │ ├── UserService.scala │ ├── UserStorage.scala │ └── core.scala │ └── utils │ ├── Config.scala │ ├── DBIOOptional.scala │ ├── DatabaseConnector.scala │ ├── DatabaseMigrationManager.scala │ ├── ISO8601.scala │ ├── JwtAuthDirectives.scala │ └── StorageRunner.scala └── test └── scala └── realworld └── com ├── BaseServiceTest.scala ├── HealthCheck.scala ├── articles ├── ArticleServiceTest.scala ├── ArticleStorageTest.scala └── comments │ ├── CommentServiceTest.scala │ └── CommentStorageTest.scala ├── profile └── ProfileServiceTest.scala ├── tags ├── TagServiceTest.scala └── TagStorageTest.scala ├── test_helpers ├── Articles.scala ├── Authors.scala ├── Comments.scala └── Dates.scala ├── users ├── UserServiceTest.scala └── UserStorageTest.scala └── utils ├── DatabaseCleaner.scala └── InMemoryPostgresStorage.scala /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | .idea 3 | target/ 4 | sbt-dist/ 5 | 6 | api_test 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/logo.png -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.2.8 2 | 3 | 4 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/sbt -------------------------------------------------------------------------------- /sbt.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/sbt.bat -------------------------------------------------------------------------------- /src/main/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/resources/application.conf -------------------------------------------------------------------------------- /src/main/resources/db/migration/V1__Create_initial_tables.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/resources/db/migration/V1__Create_initial_tables.sql -------------------------------------------------------------------------------- /src/main/scala/realworld/com/Main.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/Main.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/ArticleRoute.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/ArticleRoute.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/ArticleService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/ArticleService.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/ArticleStorage.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/ArticleStorage.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/ArticleTable.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/ArticleTable.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/ArticleTagTable.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/ArticleTagTable.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/FavoriteTable.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/FavoriteTable.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/TagTable.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/TagTable.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/comments/CommentRoute.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/comments/CommentRoute.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/comments/CommentService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/comments/CommentService.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/comments/CommentStorage.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/comments/CommentStorage.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/comments/CommentTable.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/comments/CommentTable.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/comments/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/comments/package.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/articles/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/articles/package.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/profile/ProfileRoute.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/profile/ProfileRoute.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/profile/ProfileService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/profile/ProfileService.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/profile/UserFollowersTable.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/profile/UserFollowersTable.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/profile/core.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/profile/core.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/routes/HttpRoute.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/routes/HttpRoute.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/tags/TagRoute.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/tags/TagRoute.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/tags/TagService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/tags/TagService.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/tags/TagStorage.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/tags/TagStorage.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/tags/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/tags/package.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/users/UserProfileTable.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/users/UserProfileTable.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/users/UserRoute.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/users/UserRoute.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/users/UserService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/users/UserService.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/users/UserStorage.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/users/UserStorage.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/users/core.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/users/core.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/utils/Config.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/utils/Config.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/utils/DBIOOptional.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/utils/DBIOOptional.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/utils/DatabaseConnector.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/utils/DatabaseConnector.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/utils/DatabaseMigrationManager.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/utils/DatabaseMigrationManager.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/utils/ISO8601.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/utils/ISO8601.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/utils/JwtAuthDirectives.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/utils/JwtAuthDirectives.scala -------------------------------------------------------------------------------- /src/main/scala/realworld/com/utils/StorageRunner.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/main/scala/realworld/com/utils/StorageRunner.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/BaseServiceTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/BaseServiceTest.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/HealthCheck.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/HealthCheck.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/articles/ArticleServiceTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/articles/ArticleServiceTest.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/articles/ArticleStorageTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/articles/ArticleStorageTest.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/articles/comments/CommentServiceTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/articles/comments/CommentServiceTest.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/articles/comments/CommentStorageTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/articles/comments/CommentStorageTest.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/profile/ProfileServiceTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/profile/ProfileServiceTest.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/tags/TagServiceTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/tags/TagServiceTest.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/tags/TagStorageTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/tags/TagStorageTest.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/test_helpers/Articles.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/test_helpers/Articles.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/test_helpers/Authors.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/test_helpers/Authors.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/test_helpers/Comments.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/test_helpers/Comments.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/test_helpers/Dates.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/test_helpers/Dates.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/users/UserServiceTest.scala: -------------------------------------------------------------------------------- 1 | package realworld.com.users 2 | 3 | class UserServiceTest { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/scala/realworld/com/users/UserStorageTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/users/UserStorageTest.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/utils/DatabaseCleaner.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/utils/DatabaseCleaner.scala -------------------------------------------------------------------------------- /src/test/scala/realworld/com/utils/InMemoryPostgresStorage.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trknhr/akka-http-realworld-example/HEAD/src/test/scala/realworld/com/utils/InMemoryPostgresStorage.scala --------------------------------------------------------------------------------