Topcoder - Online Review Update - Post to Event Bus Part 2

Register
Submit a solution
The challenge is finished.

Challenge Overview

In this challenge we are aiming to update the Online Review code to allow events to be posted to Topcoder's Kafka server.

In previous challenge (http://www.topcoder.com/challenge-details/30066397/?type=develop&noncache=true) we have added the support for review submission. We are extending to other submission types.

The following types should be supported:
  1.  should create event when member enters a submission (code/f2f/assembly submission, checkpoint submission, appeals)
  2. should create event when member creates a late deliverable and when manager/copilot creates a late deliverable response
  3. should create event when copilot/member modifies the project (prize, timeline, add/remove users, etc)

This should be done using the EventBus end point defined here - https://api.topcoder-dev.com/v5/bus/events.

The online review post to event bus must follow V5 standards and kafka-message structure. See below:
{
  "topic": "notifications.or.submissions.events",
  "originator": "tc-online-review",
  "timestamp": "ISO 8601 timestamp",
  "mime-type": "application/json",
  "payload": object - see below for examples
}

The payload when a submission is created will be:

{
    "challengeId": 1234,
    "userId": 4321,
    "submissionTypeId": 1, // should be changed according to one of the type (code/f2f/assembly submission, checkpoint submission, appeals)
    "isFileSubmission": true,
    "filename": "c1234-u4321-1.zip",
    "fileURL": "<FILE URL GENERATED BY OR>",
    "submissionId": 7777
}


The payload when a late deliverable is updated by user will be:

{
    "challengeId": 1234,
    "userId": 4321,
    "submissionTypeId": 8,
    "isFileSubmission": false,
    "data": {
      "lateDeliverableTypeId": 1,
      "explanation": "text",
      "deadline": "ISO 8601 timestamp",
      "userId": 4321
    },
    "lateDeliverableId": 7777
}


The payload when a late deliverable is updated by copilot/PM will be:

{
    "challengeId": 1234,
    "userId": 333,
    "submissionTypeId": 8,
    "isFileSubmission": false,
    "data": {
      "lateDeliverableTypeId": 2,
      "explanation": "string",
      "deadline": "ISO 8601 timestamp",
      "justified": true/false,
      "response": "string",
      "userId": 4321
    },
    "lateDeliverableId": 7777
}


The payload when a project is updated by copilot/PM will be:

{
   "challengeId": 1234,
   "userId": 333,
   "submissionTypeId": 9,
   "data": {
      ..project data with properties (project object in EditProjectAction.java)..
      [
         ..project phase data (phases array in EditProjectAction.java)..
      ]
   }
}


Submission types:

- code submission -> 1
- F2F submission -> 2
- assembly submission -> 3
- checkpoint submission -> 4
- appeals -> 5
- late deliverable -> 6
- project update -> 7

For checking that the event was sent to the Kafka bus, please use the following site https://lauscher-dev.herokuapp.com/

Repository


Online Review repository: https://github.com/topcoder-platform/tc-online-review

Please use the event_bus branch with commit hash f062a83edbf24ee372caf7a57116358a24225b7a.

Local Setup

Please follow https://github.com/appirio-tech/tc-common-tutorials/tree/master/docker/online_review to build and run the online review locally. Make sure to use the correct Online Review branch - see above.

If needed you can deploy direct app. This is useful to create new projects and challenges. Follow theses steps:

Download direct-app code base: https://github.com/appirio-tech/direct-app.git. Branch: dev.

To build/setup direct-app with docker please consult https://github.com/appirio-tech/tc-common-tutorials/tree/master/docker/direct-app#build-and-run-with-docker-compose.

Enter in /etc/hosts files the following entry:
127.0.0.1  cockpit.cloud.topcoder.com tc-api.cloud.topcoder.com

Open direct-app https://cockpit.cloud.topcoder.com/direct/ and login with 'hefan/password' to create project and challenges.

Wait autopilot to run and open Online Review http://cockpit.cloud.topcoder.com/review.


Final Submission Guidelines

  • Patch to the Online Review event_bus branch. Please make sure to use commit hash f062a83edbf24ee372caf7a57116358a24225b7a.
  • Verification Guide

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30066558