Challenge Overview

Welcome to Topcoder Event RestHooks Contest. As part of this contest, you will create a RESTful hook to tap into events on the Topcoder platform.

 

Contest Details

The premise of this contest is based on RestHooks. You need to go through it before you proceed to fulfill the requirements of this contest. In particular, you need to checkout the sample app that implements resthooks.

 

We will have a kafka based queue that will contain events that occur on the Topcoder platform such as project creation, contest creation, forum thread creation etc. Your task for this contest is:

  • Create a subscription manager that reads off the kafka queue (and thus, is a consumer) in nodejs (version 8, latest).

  • The subscription manager should provide endpoints and a user interface that allow other clients to subscribe to events raised in the kafka queue (this would be similar to the CRM app in the example app mentioned above)

  • Provide sample client app (similar to the client app in the example app) that will register their subscriptions with the subscription manager using nodejs (version 8, latest)

 

Points To Note

  • We will share the specification for the object structure in the Kafka queue in the contest forum.

  • We do need a user interface which allows users to register for events. In the sample app, this is done through endpoints only but for this contest, we also require you to provide us with a user interface. Angularjs or Reactjs based UI are acceptable.

  • The user interface will allow users to register for events. The details necessary for registration will be same as the ones in the sample app - mainly the event and the endpoint are required. Additionally, the user interface will also display the list of registered subscribers. A simple UI will suffice.

  • To each registered endpoint, pass the entire object as received from Kafka (for the respective events)

  • The sample app uses Sailsjs. You are however required to use expressjs for this contest.

  • The subscription manager app will be publicly accessible for now. Authentication and Authorization is not necessary.

  • The subscription manager should adhere to the Minimum Implementation guidelines, at the very least.

  • Major requirement of this contest is the subscription manager. The client app will be a minor requirement.

  • Unit testing is required



Final Submission Guidelines

Zip your code and upload it to topcoder. The winner will be asked to submit a pull request to our repository.

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30064342