├── .gitignore ├── README.md ├── docker-compose.yml ├── kafka-connectors └── SinkTopicsInPostgres.properties ├── pom.xml ├── run.sh ├── udemy-reviews-aggregator ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── simplesteph │ │ └── kafka │ │ └── streams │ │ └── udemy │ │ └── aggregator │ │ ├── AggregatorMain.java │ │ ├── AppConfig.java │ │ ├── RecentReviewsTransformer.java │ │ ├── RecentReviewsTransformerSupplier.java │ │ └── ReviewTimestampExtractor.java │ └── resources │ ├── application.conf │ ├── avro │ └── udemy-course-statistic.avsc │ └── log4j.properties ├── udemy-reviews-fraud ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── simplesteph │ │ └── kafka │ │ └── streams │ │ └── udemy │ │ └── fraud │ │ ├── AppConfig.java │ │ └── FraudMain.java │ └── resources │ ├── application.conf │ └── log4j.properties └── udemy-reviews-producer ├── README.md ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── github │ │ └── simplesteph │ │ └── kafka │ │ └── producer │ │ └── udemy │ │ ├── AppConfig.java │ │ ├── ReviewsProducerMain.java │ │ ├── client │ │ └── UdemyRESTClient.java │ │ ├── model │ │ └── ReviewApiResponse.java │ │ └── runnable │ │ ├── ReviewsAvroProducerThread.java │ │ └── ReviewsFetcherThread.java └── resources │ ├── application.conf │ ├── avro │ └── udemy-review.avsc │ └── log4j.properties └── test └── java └── com └── simplesteph └── github ├── .DS_Store └── kafka ├── .DS_Store └── producer ├── .DS_Store └── udemy ├── .DS_Store ├── client └── UdemyRESTClientTest.java └── runnable └── UdemyRESTClientRunnable.java /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | *.iml 3 | target/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /kafka-connectors/SinkTopicsInPostgres.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/kafka-connectors/SinkTopicsInPostgres.properties -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/pom.xml -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/run.sh -------------------------------------------------------------------------------- /udemy-reviews-aggregator/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-aggregator/pom.xml -------------------------------------------------------------------------------- /udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/AggregatorMain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/AggregatorMain.java -------------------------------------------------------------------------------- /udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/AppConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/AppConfig.java -------------------------------------------------------------------------------- /udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/RecentReviewsTransformer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/RecentReviewsTransformer.java -------------------------------------------------------------------------------- /udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/RecentReviewsTransformerSupplier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/RecentReviewsTransformerSupplier.java -------------------------------------------------------------------------------- /udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/ReviewTimestampExtractor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-aggregator/src/main/java/com/github/simplesteph/kafka/streams/udemy/aggregator/ReviewTimestampExtractor.java -------------------------------------------------------------------------------- /udemy-reviews-aggregator/src/main/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-aggregator/src/main/resources/application.conf -------------------------------------------------------------------------------- /udemy-reviews-aggregator/src/main/resources/avro/udemy-course-statistic.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-aggregator/src/main/resources/avro/udemy-course-statistic.avsc -------------------------------------------------------------------------------- /udemy-reviews-aggregator/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-aggregator/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /udemy-reviews-fraud/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-fraud/pom.xml -------------------------------------------------------------------------------- /udemy-reviews-fraud/src/main/java/com/github/simplesteph/kafka/streams/udemy/fraud/AppConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-fraud/src/main/java/com/github/simplesteph/kafka/streams/udemy/fraud/AppConfig.java -------------------------------------------------------------------------------- /udemy-reviews-fraud/src/main/java/com/github/simplesteph/kafka/streams/udemy/fraud/FraudMain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-fraud/src/main/java/com/github/simplesteph/kafka/streams/udemy/fraud/FraudMain.java -------------------------------------------------------------------------------- /udemy-reviews-fraud/src/main/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-fraud/src/main/resources/application.conf -------------------------------------------------------------------------------- /udemy-reviews-fraud/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-fraud/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /udemy-reviews-producer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/README.md -------------------------------------------------------------------------------- /udemy-reviews-producer/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/pom.xml -------------------------------------------------------------------------------- /udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/AppConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/AppConfig.java -------------------------------------------------------------------------------- /udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/ReviewsProducerMain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/ReviewsProducerMain.java -------------------------------------------------------------------------------- /udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/client/UdemyRESTClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/client/UdemyRESTClient.java -------------------------------------------------------------------------------- /udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/model/ReviewApiResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/model/ReviewApiResponse.java -------------------------------------------------------------------------------- /udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/runnable/ReviewsAvroProducerThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/runnable/ReviewsAvroProducerThread.java -------------------------------------------------------------------------------- /udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/runnable/ReviewsFetcherThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/main/java/com/github/simplesteph/kafka/producer/udemy/runnable/ReviewsFetcherThread.java -------------------------------------------------------------------------------- /udemy-reviews-producer/src/main/resources/application.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/main/resources/application.conf -------------------------------------------------------------------------------- /udemy-reviews-producer/src/main/resources/avro/udemy-review.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/main/resources/avro/udemy-review.avsc -------------------------------------------------------------------------------- /udemy-reviews-producer/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /udemy-reviews-producer/src/test/java/com/simplesteph/github/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/test/java/com/simplesteph/github/.DS_Store -------------------------------------------------------------------------------- /udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/.DS_Store -------------------------------------------------------------------------------- /udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/producer/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/producer/.DS_Store -------------------------------------------------------------------------------- /udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/producer/udemy/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/producer/udemy/.DS_Store -------------------------------------------------------------------------------- /udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/producer/udemy/client/UdemyRESTClientTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/producer/udemy/client/UdemyRESTClientTest.java -------------------------------------------------------------------------------- /udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/producer/udemy/runnable/UdemyRESTClientRunnable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesteph/medium-blog-kafka-udemy/HEAD/udemy-reviews-producer/src/test/java/com/simplesteph/github/kafka/producer/udemy/runnable/UdemyRESTClientRunnable.java --------------------------------------------------------------------------------