├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── Dockerfile ├── Makefile ├── README.md ├── docker-compose.local.yaml ├── docker-compose.yaml ├── monitoring └── prometheus.yml ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── kotlin │ └── com │ │ └── search │ │ └── microservice │ │ ├── SearchMicroserviceApplication.kt │ │ ├── configuration │ │ ├── ElasticClientConfig.kt │ │ ├── ElasticHealthCheck.kt │ │ ├── ElasticSearchHealthCheck.kt │ │ ├── ElasticSearchIndexConfig.kt │ │ ├── FakerConfig.kt │ │ ├── KafkaConfigProperties.kt │ │ ├── KafkaConsumerConfig.kt │ │ ├── KafkaProducerConfig.kt │ │ ├── KafkaTopicConfiguration.kt │ │ ├── KeyboardLayoutManagerConfig.kt │ │ ├── SwaggerOpenAPIConfiguration.kt │ │ └── WebClientConfig.kt │ │ ├── constants │ │ └── ProductSearchConstants.kt │ │ ├── consumer │ │ └── ProductKafkaConsumer.kt │ │ ├── controller │ │ ├── GlobalControllerAdvice.kt │ │ └── ProductController.kt │ │ ├── domain │ │ └── Product.kt │ │ ├── dto │ │ └── IndexProductRequest.kt │ │ ├── exceptions │ │ ├── ErrorHttpResponse.kt │ │ └── SerializationException.kt │ │ ├── repository │ │ ├── ProductElasticRepository.kt │ │ └── ProductElasticRepositoryImpl.kt │ │ ├── service │ │ ├── ProductService.kt │ │ └── ProductServiceImpl.kt │ │ └── utils │ │ ├── KeyboardLayoutManager.kt │ │ ├── PaginationResponse.kt │ │ ├── SerializationUtils.kt │ │ └── publisher │ │ ├── KafkaPublisher.kt │ │ └── KafkaPublisherImpl.kt └── resources │ ├── application.properties │ ├── mappings.json │ ├── search_query.json │ └── translate.json └── test └── kotlin └── com └── search └── microservice └── SearchMicroserviceApplicationTests.kt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/Dockerfile -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.local.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/docker-compose.local.yaml -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /monitoring/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/monitoring/prometheus.yml -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/SearchMicroserviceApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/SearchMicroserviceApplication.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/ElasticClientConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/ElasticClientConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/ElasticHealthCheck.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/ElasticHealthCheck.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/ElasticSearchHealthCheck.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/ElasticSearchHealthCheck.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/ElasticSearchIndexConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/ElasticSearchIndexConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/FakerConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/FakerConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/KafkaConfigProperties.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/KafkaConfigProperties.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/KafkaConsumerConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/KafkaConsumerConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/KafkaProducerConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/KafkaProducerConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/KafkaTopicConfiguration.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/KafkaTopicConfiguration.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/KeyboardLayoutManagerConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/KeyboardLayoutManagerConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/SwaggerOpenAPIConfiguration.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/SwaggerOpenAPIConfiguration.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/configuration/WebClientConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/configuration/WebClientConfig.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/constants/ProductSearchConstants.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/constants/ProductSearchConstants.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/consumer/ProductKafkaConsumer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/consumer/ProductKafkaConsumer.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/controller/GlobalControllerAdvice.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/controller/GlobalControllerAdvice.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/controller/ProductController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/controller/ProductController.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/domain/Product.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/domain/Product.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/dto/IndexProductRequest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/dto/IndexProductRequest.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/exceptions/ErrorHttpResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/exceptions/ErrorHttpResponse.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/exceptions/SerializationException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/exceptions/SerializationException.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/repository/ProductElasticRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/repository/ProductElasticRepository.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/repository/ProductElasticRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/repository/ProductElasticRepositoryImpl.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/service/ProductService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/service/ProductService.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/service/ProductServiceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/service/ProductServiceImpl.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/utils/KeyboardLayoutManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/utils/KeyboardLayoutManager.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/utils/PaginationResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/utils/PaginationResponse.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/utils/SerializationUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/utils/SerializationUtils.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/utils/publisher/KafkaPublisher.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/utils/publisher/KafkaPublisher.kt -------------------------------------------------------------------------------- /src/main/kotlin/com/search/microservice/utils/publisher/KafkaPublisherImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/kotlin/com/search/microservice/utils/publisher/KafkaPublisherImpl.kt -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/main/resources/mappings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/resources/mappings.json -------------------------------------------------------------------------------- /src/main/resources/search_query.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/resources/search_query.json -------------------------------------------------------------------------------- /src/main/resources/translate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/main/resources/translate.json -------------------------------------------------------------------------------- /src/test/kotlin/com/search/microservice/SearchMicroserviceApplicationTests.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AleksK1NG/Kotlin-Elasticsearch-Kafka/HEAD/src/test/kotlin/com/search/microservice/SearchMicroserviceApplicationTests.kt --------------------------------------------------------------------------------