Register
Submit a solution
The challenge is finished.

Challenge Overview

We'd like to create a way to populate another challenge-listing index which contains the necessary information for challenge listing api.

General Requirements

1. Review ES - Challenges Index - New Data Model - Index Field Analysis.pdf file (attached in forum) to understand the required information for challenge-listing index.
green cells in H column (Required In challenge-listing index) are the needed information for challenge-listing index.

2.  Create a new ChallengeListingData class similar as ChallengeData class, which will define/use other POJOs to represents the document model in ElasticSearch.

3. Create a new ChallengeListingMMFeederDAO class similar as MMFeederDAO class, which will do sql querying to get the necessary information to fill ChallengeListingData

4. Create a new ChallengeListingMMFeederManager class similar as MMFeederManager class, which will use methods  in ChallengeListingMMFeederDAO class and generate the final ChallengeListingData object and push the data into ElasticSearch

5. Create a new LoadChangedChallengeListingJob class similar as LegacyMMToChallengeJob class, which will running periodically to see the changed marathon matches and trying to push the new data into ElasticSearch.

Local Setup

- Please follow https://github.com/appirio-tech/tc-common-tutorials/tree/master/docker/direct-app to run the dependent services, like informix, redis, direct app and elasticsearch.
- Clone the codebase from github and build it.
- Run it by using local/run.sh
- Verification
-- There is no UI way to create MM matches, but you can follow https://github.com/topcoder-platform/tc-database-scripts/blob/dev/informixoltp/05_informixoltp_test_data.sql#L684-L755 to use sqls to create test data.
 

Final Submission Guidelines

- Code Changes
- Verification Steps
- Winner Responsiblity: Create the Pull Request For Merging

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30065232