├── .gitignore ├── LICENSE ├── README.md ├── images ├── app_stream_flow.gif ├── consumer_stream_creation_slow.gif ├── producer_stream_creation_slow.gif └── template-overview.png ├── project ├── Dependencies.scala ├── Versions.scala ├── build.properties └── plugins.sbt └── src ├── main ├── resources │ ├── application.conf │ └── logback.xml └── scala │ └── com │ └── omearac │ ├── Main.scala │ ├── consumers │ ├── ConsumerStream.scala │ ├── ConsumerStreamManager.scala │ ├── DataConsumer.scala │ └── EventConsumer.scala │ ├── http │ ├── HttpService.scala │ └── routes │ │ ├── ConsumerCommands.scala │ │ └── ProducerCommands.scala │ ├── producers │ ├── DataProducer.scala │ ├── EventProducer.scala │ ├── ProducerStream.scala │ └── ProducerStreamManager.scala │ ├── settings │ └── Settings.scala │ └── shared │ ├── AkkaStreams.scala │ ├── EventSourcing.scala │ ├── JsonMessageConversion.scala │ └── Messages.scala └── test ├── resources ├── application.conf └── logback-test.xml └── scala └── akka ├── HTTPInterfaceSpec.scala ├── SettingsSpec.scala └── kafka ├── ConsumerStreamManagerSpec.scala ├── ConsumerStreamSpec.scala ├── DataConsumerSpec.scala ├── DataProducerSpec.scala ├── EventConsumerSpec.scala ├── EventProducerSpec.scala ├── ProducerStreamManagerSpec.scala └── ProducerStreamSpec.scala /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/README.md -------------------------------------------------------------------------------- /images/app_stream_flow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/images/app_stream_flow.gif -------------------------------------------------------------------------------- /images/consumer_stream_creation_slow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/images/consumer_stream_creation_slow.gif -------------------------------------------------------------------------------- /images/producer_stream_creation_slow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/images/producer_stream_creation_slow.gif -------------------------------------------------------------------------------- /images/template-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/images/template-overview.png -------------------------------------------------------------------------------- /project/Dependencies.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/project/Dependencies.scala -------------------------------------------------------------------------------- /project/Versions.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/project/Versions.scala -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version = 0.13.8 -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /src/main/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/resources/application.conf -------------------------------------------------------------------------------- /src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/resources/logback.xml -------------------------------------------------------------------------------- /src/main/scala/com/omearac/Main.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/Main.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/consumers/ConsumerStream.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/consumers/ConsumerStream.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/consumers/ConsumerStreamManager.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/consumers/ConsumerStreamManager.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/consumers/DataConsumer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/consumers/DataConsumer.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/consumers/EventConsumer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/consumers/EventConsumer.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/http/HttpService.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/http/HttpService.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/http/routes/ConsumerCommands.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/http/routes/ConsumerCommands.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/http/routes/ProducerCommands.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/http/routes/ProducerCommands.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/producers/DataProducer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/producers/DataProducer.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/producers/EventProducer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/producers/EventProducer.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/producers/ProducerStream.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/producers/ProducerStream.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/producers/ProducerStreamManager.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/producers/ProducerStreamManager.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/settings/Settings.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/settings/Settings.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/shared/AkkaStreams.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/shared/AkkaStreams.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/shared/EventSourcing.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/shared/EventSourcing.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/shared/JsonMessageConversion.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/shared/JsonMessageConversion.scala -------------------------------------------------------------------------------- /src/main/scala/com/omearac/shared/Messages.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/main/scala/com/omearac/shared/Messages.scala -------------------------------------------------------------------------------- /src/test/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/resources/application.conf -------------------------------------------------------------------------------- /src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/resources/logback-test.xml -------------------------------------------------------------------------------- /src/test/scala/akka/HTTPInterfaceSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/HTTPInterfaceSpec.scala -------------------------------------------------------------------------------- /src/test/scala/akka/SettingsSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/SettingsSpec.scala -------------------------------------------------------------------------------- /src/test/scala/akka/kafka/ConsumerStreamManagerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/kafka/ConsumerStreamManagerSpec.scala -------------------------------------------------------------------------------- /src/test/scala/akka/kafka/ConsumerStreamSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/kafka/ConsumerStreamSpec.scala -------------------------------------------------------------------------------- /src/test/scala/akka/kafka/DataConsumerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/kafka/DataConsumerSpec.scala -------------------------------------------------------------------------------- /src/test/scala/akka/kafka/DataProducerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/kafka/DataProducerSpec.scala -------------------------------------------------------------------------------- /src/test/scala/akka/kafka/EventConsumerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/kafka/EventConsumerSpec.scala -------------------------------------------------------------------------------- /src/test/scala/akka/kafka/EventProducerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/kafka/EventProducerSpec.scala -------------------------------------------------------------------------------- /src/test/scala/akka/kafka/ProducerStreamManagerSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/kafka/ProducerStreamManagerSpec.scala -------------------------------------------------------------------------------- /src/test/scala/akka/kafka/ProducerStreamSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/omearac/reactive-kafka-microservice-template/HEAD/src/test/scala/akka/kafka/ProducerStreamSpec.scala --------------------------------------------------------------------------------