Topcoder Communities - Listing of Relevant Challenges

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

We develop a new effective and scalable solution for management of Topcoder communities, dedicated to specific clients / projects / technologies. Think about existing Cognitive, iOS, and Predix communities. We aim to create a new ReactJS front-end for such mini-sites.

Challenge Scope

The focus of this challenge is to find a way to list challenges related to a specific community, re-using the new Topcoder challenge listing component (can be seen at https://www.topcoder.com/challenges/) as much as possible. The requirements are:
1. Challenge listing should be shown in a page served by Community App - you must create corresponding demo page in that repo.
2. You must modify the challenge listing component to provide a way to specify a master challenge filter. The specified master filter must be always applied to challenge listing in addition to any filters set by user, and page visitor must have no way to remove it. In other words, it should provide us a way to show at the page only those challenges related to a given community, while allowing visitors to further filter these related challenges. We want to be flexible with the exact type of master filter we can specify. For demo purposes, let's have a keyword base master filter, which shows at the demo page only those challenges that have a certain technology tag, which can be specified as part of demo page url (i.e. if we access the demo page as /community-challenge-listing/JavaScript, the listing should show only challenges with JavaScript tag, etc.).

Implementation Details

Existing challenge listing component can be found inside React Components repository. We believe you have two ways to go:
1. To fork React Components repo, make any necessary modifications of the challenge listing component inside your fork, and then use your fork as dependency inside Community App. This way has some pitfalls: the React Components repo contains a bunch of legacy code (it uses Coffee Script, does not care about being isomorphic, etc.). Using it from Community App will demands some tweaks in the Community App setup.
2. To copy challenge listings component with all related staff from React Components into Community App, and make necessary modifications within Community App repo. This way is preferred, as in the long term we want to migrate all Topcoder parts to Community App repo. The pitfall here is that you'll have to clean-up challenge listing code to comply with Community App code standards.

In any case you MUST NOT introduce lint errors into our repositories, keep unit tests working and keep unit test coverage as high as possible (especially inside Community App repo). Also, your changes into challenge listing component should not prevent using of the modified component inside the main listing of Topcoder challenges (check Topcoder App repo to see how it is currently used at https://www.topcoder.com/challenges/).

Final Submission Guidelines

Git patches for Community App (for commit ec926d5b8cc706366d58f201955d299129113263 or newer), and React Components (in case if you decide to modify challenge listing component in its current repo). Verification instructions and demo video.

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30057332