Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Welcome to Topcoder Submission - MM Processor Initial Setup.

Contest Details

We are creating a new processor to handle Marathon Matches challenges based on NodeJs 8.x. The processor will be based on existing code provided in forum.

Project Background

Topcoder is updating its api and one of the apis being updated is the Submission api. One of the scenarios that we are taking care of here is that when a user uploads a submission to Topcoder for a Maratho Match contest, an app (not relevant for this contest) creates a message that contains details about this submission and sends it to an Apache Kafka instance.

This is the first of a series of challenge that will build the Marathon Match processor.

Technology Stack
 
  • Nodejs
  • Kafka
  • REST Services

Individual Requirements

1. Create a new Processor to listen to Kafka Events. The processor should be based on the code provided in forum. In the README.md file in the provide source has information about the payload.

2. The processor will listen to the following topics:
  • topic: submission.notification.create, originator: submission-api. Insinde the payload, the resource property can be either submission or review.

3. Upon receival of the event matching the above, the processor will call the challenge API. The API to find challenge info is https://api.topcoder-dev.com/v4/challenges?filter=id={challenge_id}

4. If the challenge is of Marathon Match type, just print a successful message to console. If not, ignore the event and print a message to console as well. To determine if the challenge is a MM challenge check property subTrack. Value of subTrack must contain the string "MARATHON_MATCH". See forum.

5. Unit testing is in scope: (check failures - wrong topic, originator, resource, missing parameters, errors with API requests, wrong challenge type. check success).

6. All unnecessary code (anything not needed to perform the requirements above) in the provided base code should be removed. Check the libraries defined in the package.json in the provided base code and use the same where applicable.

Deployment Guide and Validation Documentation

You will need to create a deployment guide (README.md) and validation document (Validation.md).

The README.md created must show how to:
  • Configure the application
  • Build application

The Validation.md created must show all the steps necessary to verify the application:
  • How to run and validate the code


Final Submission Guidelines

  • Zip file with processor code
  • Documentation required

ELIGIBLE EVENTS:

Topcoder Open 2019

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30072008