Challenge Overview
Challenge Objectives
-
Topcoder-X is a node web application used by copilots to manage direct tasks.
-
This challenge will implement changes based on user feedback and clean up some bugs that have been hard to address.
Project Background
- 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 is part of a long-term series that will tweak the existing functionality based on feedback from copilots, fix bugs, and will implement new functionality.
Technology Stack
-
Node is used as the main language for Topcoder-X.
-
MongoDB is used for data storage, and Kafka is used for message queueing
-
We currently deploy to Heroku. There are 3 instances needed - receiver, processor, and the UI
-
Note that this environment takes a fair bit of configuration to get all the pieces set up and working together. Please ensure you budget a proper amount of time to work through deployment issues.
Code access
There are currently three pieces to this app:
* Topcoder-X Receiver (https://github.com/topcoder-platform/topcoder-x-receiver)
* Topcoder-X Processor (https://github.com/topcoder-platform/topcoder-x-processor)
* Topcoder-X UI (https://github.com/topcoder-platform/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.
You can find detailed information on deployment and configuration here:
https://github.com/topcoder-platform/topcoder-x-ui/blob/develop/TopcoderXDeploy.md
A general user guide can be found here:
https://github.com/topcoder-platform/topcoder-x-ui/wiki
Individual requirements
These tickets are the major requirement for this challenge:
- https://github.com/topcoder-platform/topcoder-x-ui/issues/89 (major requirement)
- https://github.com/topcoder-platform/topcoder-x-ui/issues/88 (major requirement)
- https://github.com/topcoder-platform/topcoder-x-ui/issues/87 (major requirement)
- https://github.com/topcoder-platform/topcoder-x-ui/issues/86 (major requirement)
- https://github.com/topcoder-platform/topcoder-x-ui/issues/83
- https://github.com/topcoder-platform/topcoder-x-ui/issues/82
- https://github.com/topcoder-platform/topcoder-x-ui/issues/74
- https://github.com/topcoder-platform/topcoder-x-ui/issues/71
- https://github.com/topcoder-platform/topcoder-x-ui/issues/35 (major requirement)
- https://github.com/topcoder-platform/topcoder-x-ui/issues/79 (major requirement)
- https://github.com/topcoder-platform/topcoder-x-ui/issues/76
Deployment guide and validation document
You must provide:Ple
An README.md that covers:
-
Local deployment
-
Heroku deployment
-
Configuration for the receiver, processor, and UI
A comprehensive validation.md that covers:
- How to validate the individual fixes. Please ensure that you address each individual bug ticket directly. This needs to be comprehensive - a one-sentence description likely won't be enough. Please provide screenshots as well.
Validation video / screencast
-
A validation video is required showing updated UI functionality. Note that not all bugs will be demoable via the video, but please try to cover the tickets that can be.
What To Submit
A patch file that targets the “develop” branch of https://github.com/topcoder-platform/topcoder-x-ui-
A patch file that targets the “develop” branch of https://github.com/topcoder-platform/topcoder-x-processor (if needed)
-
Ensure your patch file updates the deployment documentation in the README, if necessary
-
A Validation.md that covers the details above
-
A link to a screencast or a video file for validation