Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Build a processor that will listen to kafka events and will call our legacy API to create or update challenges.

  • Cover this new processor with unit and e2e testing.

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 on our platform.

Technology Stack

  • Node.js

  • Kafka

  • Docker

Code Access

This is a new processor so there is no existing code.

Detailed requirement

We are in the process of creating the new V5 Challenge API so we need a processor to backfill data in our current systems.

1. Implement legacy challenge processor

Implement a new processor named legacy-challenge-processor that will listen to specific kafka topics for events and will call our V4 Challenge API (swagger attached on the challenge forum) using M2M token (https://github.com/appirio-tech/tc-core-library-js) to backfill our current systems.

 

The processor should listen for the following events:

  • challenge.notification.create

  • challenge.notification.update

 

Update should support partial update. The processor should fetch the challenge information from the V4 API and should overwrite the existing values with the data from the event payload.

 

The V5 Challenge API is still under development so we don’t have the final event payloads defined as of yet.

You will have to check the code here https://github.com/topcoder-platform/challenge-api and come up with some structure. We can make changes as needed at a later point.

2. Unit Testing

Cover this new processor with strong positive and negative unit and e2e testing.

 

You also need to provide a way to generate coverage reports.

  

What to Submit

  • Submit your source code in a zip file.

  • Include a README.md file which should clearly describe how to setup and run the processor.

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30090473