Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Node application that is used internally at Topcoder for administration
  • We want to update the current admin app to use the new groups API we've been building

Project Background

  • The admin app is used internally by Topcoder admins for all sorts of user management.  A link to the dev site with sample login will be provided.
  • We have a new groups API that we've updated to the new version 5 API standard for Topcoder.  This will be the first transition of an existing app to use the new service.
  • The admin app was chosen as the first candidate for transition to the new Groups API.  Future challenges will work on other Topcoder apps to transition them to th enew APIs as well.

Technology Stack

  • Node.js
  • Neo4j
  • REST APIs

Code access

Admin app codebase:  https://github.com/topcoder-platform/admin-app

New groups API codebase:  https://github.com/topcoder-platform/groups-api

Note that the config.json in the admin app repo contains configuration for local deployment.  Test accounts will be shared in the forum.

Individual requirements

For this challenge, we want to transition the code in the admin-app to use the new v5 groups API instead of the v3 groups API.  This will involve:
  • Configure the v5 groups API to match the local configuration in the admin app repo, including the JWT names and authorization endpoints.
  • Deploying the v5 groups API server locally
  • Migrating from the existing v3 dev groups API to the locally deployed API
  • Editing src/app/groups/groups.service.js to use the new API
  • Editing src/app/groupmembers/groupmembers.service.js to use the new API
  • Potentially editing some of the UI / JS to use any required changes to parameters in the edited services
  • Testing the app to ensure that it works *exactly* the same with the new groups API as it did with the previous API
You can assume that eventually we'll have the groups API client deployed as an NPM package.  For now, just referencing Git in the package.json for the admin app should be enough

Deployment guide and validation document

We require two separate documents for this challenge:

A README.md that covers:

  • Deployment of the groups API locally (should already be done, but make sure to validate and update as needed)
  • Deployment of the updated admin app locally (should already be mostly done, but make sure to validate and update as needed)
  • Details on how to configure the admin-app to use the new groups API locally

A Validation.md that covers:

  • How to validate each function of the app that was updated to ensure that it was updated correctly
  • How to validate in the v5 groups API that things are saving properly to Neo4j

Please make sure your validation.md is *very* detailed.  This is a production app we're updating, so we have to be very careful in our updates.  Having a comprehensive validation document will help not only reviewers, but the admins after we've deployed the updates.

Validation video / screencast

No video is required, but you can provide one if you think it will help with validation.

What To Submit

  • Git patch file agains commit f033106 of the admin app that implements the requirements
  • README.md with the details listed above
  • Validation.md with the details listed above


Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

Topcoder Open 2019

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30085183