Topcoder - Populate Marathon Match Related Data Into Challenge Model In Elasticsearch

Register
Submit a solution
The challenge is finished.

Challenge Overview

For this challenge, we'd like to create a similar function in Elasticsearch Feeder Service to populate the marathon match data into elasticsearch.

Following are the general requirement.

1. A similar manager class like https://github.com/topcoder-platform/tc-elasticsearch-feeder-service/blob/dev/src/main/java/com/appirio/service/challengefeeder/manager/ChallengeFeederManager.java, which will load the marathon match related data and populate the ChallengeData (reuse the same model), then push the model into elasticsearch. 
All the tables related with marathon matches data are available in informixoltp database, not tcs_catalog database.
* round - this should be consider the main table to group data, consider round id as challenge id.
 contest - this is the dummy holder, basically, multiple rounds can be grouped in one contest, so for marathon match challenge name, let's use the format like [contest.contest_name - round.name]
* round_prize - this should be used to populate the prizes field.
* round_segment - this should be used to populate the phases field
* round_registration - this should be used to populate the resources and userIds field
* round_event - this should be used to popualte the events field
* submission - this should be used to populate the submission field.
* round_terms - this should be used to populate the terms field

If you have any question, please raise in forum for clarification.

2. A gerenal endpoint similar as https://github.com/topcoder-platform/tc-elasticsearch-feeder-service/blob/dev/src/main/java/com/appirio/service/challengefeeder/resources/ChallengeFeederResource.java#L68, which will be used by admin to populate or fix a specific marathon match, the ids should be round id (not contest_id in contest table).

3. API Spec (swagger.yaml) should be properly updated to describe the new endpoint.

Local Setup

- Please follow the files in /docs to setup the environment.
 

Final Submission Guidelines

- Code Changes
- Verification Steps
- Winner will do the final fixes and create Pull Request for merge

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30062436