Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • To fix the behaviour of the slider “playing” the events

  • To implement statistics endpoints

 

Project Background

  • Project Corona consists of two apps. One is called the listener, which listens for events in Topcoder’s kafka event stream, processes the event and creates a new event with additional details. The second app is called viewer, which listens for events produced by the listener for display on the UI.

 

Technology Stack

  • Nodejs version 10

  • Kafka version 2

 

Code access

You can access the LISTENER app here and the VIEWER app here. Use the develop branch in both repositories for this contest as your base branch. You need both the apps for this contest, but your changes will only be in the VIEWER app.

 

Individual requirements

Change the behaviour of the slider playing the events (Major Requirement)

  • In the VIEWER app, while displaying events, the slider can be moved around. Moving it to the left plays older events.

  • However, after placing the slider at a time and date in the past, if there is no event at this time, the slider “jumps” to the nearest event - it skips all the time in between and goes to the next date and time where an event exists.

  • We would like to change this behaviour. The slider should instead play like a movie, with the step size of 1 minute. Each minute, the slider should display the events at that time and date. If no event exists, then no event card is shown (the event dots of the past are still visible) and the slider continues to move to the next minute every second.

  • ALL events at that minute (position where the slider is) will be displayed, just as they do currently.

  • This also means that as the slider reaches the end and starts showing the current date and time, if there is no event that has occured right now, then no event card is to be shown (event dots of the past are still visible and user can still click on the dots to view the details of the event). Right now, the last event’s card is displayed, even if it does not fall at the current time.

Implement Statistic endpoints (Major Requirement)

  • In the VIEWER app, in the sidebar, we have a section where we display the stats for the platform (Members, challenges, prizes)

  • In the contest forum, we share the details of the APIs that you need to call to get this data.

  • Implement a single endpoint in VIEWER app’s server, which calls the api to get the stats. The UI makes a single api call to get all the stats and displays them on the UI.

  • You will have to create controllers and routes and services (even if just one for now) since we will be having more endpoints in the VIEWER app in the future to support.

 

Deployment guide and validation document

No updates to the deployment guide are expected.

 

Important Notes

  • Follow existing conventions used in the app

  • Ensure there are no lint errors.

You can view the dev instance of existing VIEWER app here for reference

Final Submission Guidelines

You can upload a git patch of the changes made in VIEWER app only. Alternatively, you can zip your VIEWER app code base and upload it to topcoder. LISTENER app code base need not be uploaded.

 

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30091939