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.
This challenge will address some UI issues and a few functionality problems we've seen with the latest updates.
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.
Setup
For this challenge, you will need to set up the Topcoder-X Receiver, the Topcoder-X Processor, and the Topcoder-X UI. You can integrate them with the Topcoder Development platform to be able to see the challenges created in response to Gitlab / Github tickets, which will be necessary for a couple of the fixes described below.
Sample configurations from our current dev instances on Heroku will be provided.
Requirements:
These Github tickets describes the requirements for this challenge.
* https://github.com/topcoder-platform/topcoder-x-ui/issues/1
* https://github.com/topcoder-platform/topcoder-x-ui/issues/2
* https://github.com/topcoder-platform/topcoder-x-ui/issues/3
* https://github.com/topcoder-platform/topcoder-x-ui/issues/4
* https://github.com/topcoder-platform/topcoder-x-ui/issues/5
* https://github.com/topcoder-platform/topcoder-x-ui/issues/6
* https://github.com/topcoder-platform/topcoder-x-ui/issues/7
* https://github.com/topcoder-platform/topcoder-x-ui/issues/9
* https://github.com/topcoder-platform/topcoder-x-ui/issues/10
* https://github.com/topcoder-platform/topcoder-x-ui/issues/11
* https://github.com/topcoder-platform/topcoder-x-ui/issues/12
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
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". This currently works and is how we deploy the dev environment of TC-X, but you must take care not to break anything here.
Submission requirements:
* Patch files against these repos, targeting the develop branch:
* https://github.com/topcoder-platform/topcoder-x-ui
* https://github.com/topcoder-platform/topcoder-x-receiver
* https://github.com/topcoder-platform/topcoder-x-processor
* Updated README.md files that cover local deployment
* Clear validation documentation