Challenge Overview
Competition Task Overview
In this challenge, we need to enhance / extend the tc-api to provide new endpoints to handle admin / copilot / reviewer related tasks:
1. We have a legacy java-based admin tool that admins use to perform various types of management tasks. You'll need to review the admin tool java code and re-implement the reviewer related features using node.js and expose these as REST web api.
2. The new api endpoints should follow the same convention currently used by tc-api, let's use /api/v3/admin as root endpoint for all these new api.
3. The new api must ensure the users calling the api have enough permission, i.e. only admins can use these apis
4. The following features must be covered in this challenge:
4.1. Add Reviewer: note we’ll need to add the ability to control the immune_ind flag on each reviewer, which is not in the current functionality
4.2. Remove Reviewer
4.3. Get All Reviewers
4.4. Add Copilot
4.5. Remove Copilot
4.6. Get All Reviewers
4.7. Create Admin
4.8. Remove Admin
4.9. Get All Admins
5. To test the code you can use our informix docker instance here: https://hub.docker.com/r/appiriodevops/informix/, tag 1b3d4ef is the latest.
6. Provide api doc using Apiary format, we should have a new api doc file for all these admin apis. Here's the doc for the exising api for your reference: http://docs.tcapi.apiary.io
Testing
Unit test are required for the new api, you don't have to fix any old unit tests if they don't work.
You need to provide manual demos to verify your implementation.
Technology Overview
Node.js
Informix
Java
REST
Final Submission Guidelines
Submission Deliverables
Below is an overview of the deliverables:
- Updated tc-api code that covers all the requirements
- A detailed deployment guide that explains how to deploy the application, run the tests and verify the new endpoints.
- Api doc (please include sample request / response jsons)
Final Submission
For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.