Challenge Overview
Challenge Objectives
-
To create a nodejs based processor that listens on multiple kafka messages and carries out different actions based on the message it receives
Project Background
-
Legacy Rating Processor is an app that calculates the scores for Marathon Matches
-
It works with the Informix database
Technology Stack
-
Nodejs version 10
-
Kafka version 2
-
Informix version that works with nodejs version 10
Code access
This is the first contest in the series and thus there is no code to share. You will be writing the code from scratch.
Individual requirements
Setup Informix Database (Major Requirement)
-
The legacy submission processor has a neat little set of instructions on how to set up Informix database locally
-
It also has a SQL script to populate the database with dummy values
-
Copy the instructions and the script and other files necessary to setup the Informix database, for the processor to work with (and to make the task of development easier)
-
You will copy the assets. You will not ask the reviewer to refer to the legacy submission processor repository
Create a processor that listens for specific events on kafka (Major Requirement)
-
There are four types of messages that the processor will handle. All four are major requirements.
-
We will share a document in the contest forum that will describe this requirement in detail.
Deployment guide and validation document
Just like the legacy submission processor, provide a deployment guide in markdown format with instructions on how to deploy your app, along with instructions on how to setup Informix. You need to also provide a separate Validation file in markdown with instructions on how to validate your solution
Important Notes
-
Use async await pattern
-
Use standard library as your linter
-
Tests are NOT in scope.
-
For your submission, we expect a single app and not multiple apps. The interaction with Informix database as well as with kafka - both will be part of the same codebase.
Final Submission Guidelines
Zip your solution and upload it to Topcoder