Challenge Overview
Challenge Objectives
-
Update existing integrated code based on the latest Challenge API version.
Technology Stack
-
Node.js
-
JavaScript
-
React.js
Code Access
The work is to be done in the following repos:
Community App
Repo: https://github.com/topcoder-platform/community-app
Branch: feature-challenge-v5
Topcoder React Library
Repo: https://github.com/topcoder-platform/topcoder-react-lib
Branch: feature-challenge-v5
You will also have to set up and run the following services locally for testing
Challenge V5 API
Repo: https://github.com/topcoder-platform/challenge-api
Branch: develop
Resources V5 API
Repo: https://github.com/topcoder-platform/resources-api
Branch: develop
Individual requirements
Use the latest Challenge API
We have made quite some changes to the Challenge API. As part of this requirement, you need to compare the existing code in the feature-challenge-v5 branch and make sure it’s working with the latest V5 Challenge API.
If anything has changed, you need to update the community-app and/or the topcoder-react-lib to reflect all changes.
For local development, you will have to deploy the backend services on your local machine and create some test challenges by either calling the API directly.
Update all related services/actions/reducers.
Update all related documentation (if needed).
If you’re not sure about the mapping between different properties, please post on the forum.
In case there are changes needed on the backend, please post on the forum and the copilot will coordinate on how to handle each case.
Anything that’s not clear must be clarified on the forum.
Important Notes
-
Do not modify the response of the API to make it match with what the frontend is expecting. The frontend (community-app/topcoder-react-lib) should be modified to consume the response from the v5 instead.
-
You should follow the best practices established in the repository:
-
We use this stand-alone library: https://github.com/topcoder-platform/topcoder-react-lib for any actions/reducers/services of current ReactJS based app.
-
As part of this challenge submission, you also might need to improve https://github.com/topcoder-platform/topcoder-react-lib for any actions/reducers/services updates
-
Properly use Redux. Properly split code into reusable, self-contained React components, conveniently grouped inside folder structure;
-
Do not violate ESLint rules for JS code, nor StyleLint rules for SCSS;
-
Properly use babel-plugin-react-css-modules and / or react-css-themr for styling;
-
Use SCSS variables and mixins from the global stylesheets (/src/styles/_tc-styles.scss). Especially, when it relates to colors, fonts, etc;
-
Do not break existing unit tests.
-
Etc.;
Should you have any doubts, do not hesitate to ask for clarification in the challenge forum!
Submission deliverables
- Submit a git patch for each repo.
- Make sure to mention the exact commits so we can apply your patch file.
- The winner must create a PR against our repos.