Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Create a nodejs app that exposes an api. The API allows users to create an event that needs to be triggered at a specific point of time.

  • Create another nodejs app. This app will trigger the earlier events

 

Project Background

  • While this is a proof of concept, the original project aims to create a scheduler, that allows us to create an event that should happen at a specific time

  • Think of it as a cron job, but instead of running a script at a specified time (and executing recurrently), you are specifying an endpoint that needs to be called at a specific time and with specific data. And this is happens just once

 

Technology Stack

  • Nodejs 10

  • Mongodb 4.2

 

Code access

No code involved here. You are creating the Proof of Concept from scratch

 

Individual requirements

Create a scheduler app (Major Requirement)

  • The app will be written in Nodejs

  • The app needs to expose an API. The API should allow the user to create an event to be scheduled at a specific time

  • For our scheduler, you need to use this module. The event model will thus follow the model expected by this module to create events for scheduling

  • For our scenario, the user will also pass an endpoint, a http verb (to be used when calling that endpoint) and a payload. See the executor app below for details

 

Create an executor app (Major Requirement)

  • The executor app will handle the events that are scheduled. In other words, when an event needs to be triggered, it is the executor app that will “handle” or “process” the event.

  • You need to use the same module to handle the event

  • The expectation is that, when the user creates an event using your scheduler app, at the designated time of the event, the endpoint associated with the event will be called by the executor app using the http verb specified and the payload for that event will be passed to that endpoint.

 

Deployment guide and validation document

No deployment document expected


Important Points

  • Both scheduler and executor will refer to the same database

  • Use standard as your linter, for both the apps

  • Tests are not in scope. Neither is a POSTMAN collection

  • Provide a script that we can use to create an event in the scheduler app



Final Submission Guidelines

Kindly zip the solution and upload it to Topcoder

 

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30102653