Topcoder-X UI - Merge of Ragnar and Topcoder-X

Register
Submit a solution
The challenge is finished.

Challenge Overview

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.

We have a separate system called Ragnar that is used by PMs and copilots to allow users to self-assign themselves to Github and Gitlab projects.  This challenge will merge these 3 projects into a single project, and clean up a few things along the way.

* Topcoder-X UI
* Topcoder-X Backend
* Ragnar

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.  

The UI will be expanded in this challenge to include the functionality that currently exists in Ragnar.

Requirements:

These Gitlab tickets describes the requirements for this challenge. 

* https://gitlab.com/luettich/topcoder-x-ui/issues/15
https://gitlab.com/luettich/topcoder-x-ui/issues/16
https://gitlab.com/luettich/topcoder-x-ui/issues/20
https://gitlab.com/luettich/topcoder-x-ui/issues/21
https://gitlab.com/luettich/topcoder-x-ui/issues/19
https://gitlab.com/luettich/topcoder-x-ui/issues/18
https://gitlab.com/luettich/topcoder-x-ui/issues/23
 

Configuration document

Submitters must provide a clear "configuration.md" file that covers all the current configuration options for the combined TC-X UI, Ragnar, Backend project.  Configuration options will be removed from each, and merged together, so we need a document that clearly covers what's used after the merge.

Naming and spelling

We've had issues recently with things being poorly named, like "challenges" instead of "projects" in the MongoDB for TC-X projects.  Reviewers should take special care to ensure that naming is:

* Consistent
* Makes sense for the objects being defined

If competitors have any question on proper naming, they should ask in the forum.

Heroku

The newly combined Topcoder-X-UI project MUST be easily deployable to Heroku.  You must cover this in your deployment guide and ensure that all Heroku configuration can be done via "heroku config:set". 

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 this repo, targeting the develop branch:
   * https://gitlab.com/luettich/topcoder-x-ui

Note - no changes are expected to topcoder-x-backend or lagertha / ragnar.  The updated topcoder-x-ui project will replace them.

* Updated README.md files that cover local
* Clear validation documentation
* Configuration document

 

 



Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30065364