Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Build a processor that will listen to kafka events and will call the resources API to create the challenge resources.

Tech Stack

  • Node.js

  • Express.js

  • Swagger

  • DynamoDB

  • 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

 

The code for our resources API (this is the API the processor will call) is hosted here:

Repo: https://github.com/topcoder-platform/resources-api

Branch: develop

Detailed requirements

1. Create resources

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 will call the resources API to create the resources for the specific challenge.

 

The processor needs to read the projectId from the event payload, call the https://api.topcoder-dev.com/v4/projects/:projectId endpoint to fetch the project details using an M2M token (use this library https://github.com/appirio-tech/tc-core-library-js - appirio-tech/tc-core-library-js.git#v2.6.2 to generate M2M tokens. Valid configs will be shared on the challenge forum) and for each project member, call the resources API to create a resource for the given member + challenge.

 

Refer to this GitHub issue for details on how to get the required information from a project ID https://github.com/topcoder-platform/challenge-engine-ui/issues/60

 

You will have to run the resources API (and perhaps the challenge API) locally.

The processor name will be challenge-resources-processor

 

The following topic is in the scope of this challenge:

  • challenge.action.created

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



Final Submission Guidelines

Please read above

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30099579