Challenge Overview
Challenge Objectives
-
Build a processor that will listen to kafka events and will feed/update ES (ElasticSearch) with data from the event payload.
Tech Stack
-
Node.js
-
Express.js
-
Swagger
-
DynamoDB
-
Apache Kafka
-
ElasticSearch
Project Background
In this series of challenges, we will build the version 5 (V5) of the challenge API.
Code Access
This is a new project.
Here is a similar processor as an example https://github.com/topcoder-platform/submission-processor-es
The code for our challenge API is hosted here:
Repo: https://github.com/topcoder-platform/challenge-api
Branch: develop
Detailed requirements
1. Feed ES with data
As part of this challenge, you need to build a processor that will listen to specific kafka events published by our challenge API V5 and it will insert/update data related to challenges into ElasticSearch.
You will have to run the challenge API locally.
The processor name will be challenge-processor-es
The following topics are in the scope of this challenge:
-
challenge.action.created
-
challenge.action.updated
2. Unit testing
You need to cover this new processor with strong unit/e2e testing. Include both negative and positive tests.
Should you have any questions, feel free to ask on the challenge forum!
What to Submit
Submit your source code in a zip file including a README.md file with detailed instructions on how to set up, start and test the processor.