Challenge Overview
Challenge Objectives
-
Create a wrapper for Topcoder Submission API for the Review Summation resource
-
The wrapper is intended to be used as a public module for use in other applications.
Project Background
-
Submission API is a project that deals with 4 resources associated with the Topcoder Platform - submission, reviews, review summations and review types.
-
It provides a CRUD api for the mentioned resources.
Technology Stack
-
Nodejs version 8
Code access
We have already started with the wrapper by writing it for the Review Types and Review resources. You can find the code here. Use the develop branch as your base and update the source code with the changes for the Review Summation resource
Individual requirements
Create a wrapper for the Review Summation resource of Submission API (Major Requirement)
-
Submission API source code can be found here. In particular, the swagger specification for the api can be found here.
-
Only the Review Summation resource is in scope for this contest.
-
Create a wrapper for the submission api’s review summation resource. The “Wrapper” will be a nodejs module that will be used instead of directly making HTTP calls to the submission api. The wrapper will expose methods that will be used in place of the direct http calls to the submission api that we are doing currently.
-
You can use the tc-bus-api-wrapper module as a reference. This wrapper is for the Topcoder Bus API. Since this is the third contest in the series, you can also check out the wrapper for the review type and review resources that exists currently in the code base.
-
In addition to exposing the methods for each endpoint related to the Review Summation resource, you also have to write documentation and tests for the module. The scorecard has dedicated sections for deployment guide and tests and reviewer will use these sections (and not major requirements section) to score issues related to deployment guide and tests
-
The documentation and tests will be very similar to the documentation of the bus api wrapper, where the user can view the list of exposed methods, their usage etc.
Deployment guide and validation document
You are creating a nodejs module. As such there is nothing to “deploy”. Your documentation will be describing how to use the module in any other nodejs based app. Update the existing README file with the documentation for the Review Summation resource
Important Notes
-
Use async await pattern
-
Use standard as your linter. Ensure there are no lint errors in your submission.
-
Typescript is not allowed. No build or compilation of code expected.
-
Use mocha and chai for testing. Reviewers kindly note that the review for this section will be taken up under the dedicated Testing section of the scorecard. You will not consider issues with Testing under Major Requirements.
-
Follow existing conventions used in the app.
Final Submission Guidelines
Zip your solution and upload to Topcoder. Alternatively. you can upload a git patch too. Make sure that you generate the git patch correctly though, and test that it can be applied with the git apply command.