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
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:
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:
The Validation.md created must show all the steps necessary to verify the application:
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