Challenge Overview
Challenge Objectives
-
Create a Node.js processor that will listen to kafka topics and will update data in ES.
Project Background
We’re in the process of revamping our platform and adding support to store more information about our users as traits in order to improve the overall user experience in our platform.
Technology Stack
-
Node.js
-
InformixDB
-
Java 8
-
Maven 3
-
Docker and Docker Compose
-
DynamoDB
-
AWS
-
ElasticSearch
Code Access (for reference)
Example processors:
Detailed requirement
Some users receive an error saying “You are already registered for this challenge” when trying to register on a challenge because the data on ES is not updated.
You need to build a Node.js processor, like the examples shared in the Code Access section, that will listen for specific (configurable) kafka topics and will update the information in ES regarding the user’s registration status on a challenge.
The topics the processor should listen to are:
-
challenge.notification.events (add/remove resource)
-
notifications.kafka.queue.java.test (register/unregister)
Notes that those topics should be configurable and the processor should be able to read them from env variables.
The name of this new processor should be: challenge-resource-processor-es
You will find example payloads attached in the challenge forum.
Feel free to ask on the challenge forum!
What to Submit
Submit:
-
The processor source code
-
Detailed configuration and deployment instructions (README.md)
-
A verification document