Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Describe what you want to accomplish. 

Topcoder-X is a new framework we are building to allow for easy, transparent integration with Gitlab and Github for managing tasks on Topcoder through Gitlab and Github issues.  Each issue on Gitlab or Github will be automatically associated with a specific challenge on Topcoder and this challenge will be updated automatically for assignee, prize, etc... and it will be opened and closed for payment as the Gitlab or Github ticket is opened, modified, and closed.


The goal is to greatly increase the efficiency with which we manage direct, private tasks for members on those various platforms.

This challenge will  add user profile information to the UI, and will add code to integrate with Ragnar for Git account information.  The UI will be used by copilots and others to add in hooks to Topcoder, Github, and Gitlab, allowing Topcoder-X to manage things for the user.

Overview

There are currently three pieces to this app:

* Topcoder-X Receiver
* Topcoder-X Processor
* Topcoder-X UI

The receiver handles incoming messages on activity from both Gitlab and Github.  These messages are passed as part of webhook callbacks that are supported on each platform.  The receiver parses these messages from the Gitlab or Github specific format, creating new, consolidated messages that get pushed into Kafka and then "processed" by the processor.

The UI is going to be used by copilots and others to set up the necessary settings for individual projects in Topcoder-X, including all the repo and Topcoder project information.  It will also be used by copilots to have a centralized view of all their projects at once.  Currently, the UI only handles authentication and has a basic UI skeleton.

This challenge will start work on a user profile screen that shows the registration status for the user on both Gitlab and Github.  We already capture this information in Ragnar, so TC-X will reuse that existing information.  We will also update the processor to use the Git information from Ragnar, instead of system-wide account info, allowing for multiple users.

Requirements:

This Gitlab ticket describes the requirements for this challenge. 

https://gitlab.com/luettich/topcoder-x-ui/issues/3

APIs

You are free to use the Node Gitlab library here:  https://github.com/jdalrymple/node-gitlab-api

We'd like to target v4 of the Gitlab API, but if you'd like to use a different library or target a different API version, please let us know in the forum so we can discuss.

Validation

Please ensure you have proper validation information that includes the buttons to set the webhooks and the full OAuth capture of credentials for Ragnar for both Gitlab and Github.

Submission requirements:

* Patch files against these repos, targeting the develop branch in each:
   * https://gitlab.com/luettich/processor
   * https://gitlab.com/luettich/receiver
   * https://gitlab.com/luettich/topcoder-x-ui
* Updated README.md files, if the deployment details have changed
* Clear validation documentation


Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30064860