Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • To create a Proof of Concept app for an event scheduler that is hosted entirely within the AWS ecosystem

 

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 version 10

  • AWS

 

Code access

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

 

Individual requirements

To create a Proof of Concept app for an event scheduler that is hosted entirely within the AWS ecosystem

  • First, check out this mongodb based module.

  • This module allows us to define events that we would like to trigger at a specific point of time

  • This PoC is to create a similar functionality using the services that exist within the AWS ecosystem

  • In particular, we are interested in using Step Functions. Check out this blog that describes how one would approach this in detail. Note that the same author has other blogs too on the same topic, but for our PoC, we would like to experiment with the Step Function based scheduling mechanism

  • Your PoC would have the following workflow:

    • A user will call an API and pass to it the following details:

      • A url - an endpoint that is to be called at a particular time (required)

      • The payload - the data that is to be passed when calling the above endpoint (optional)

      • The method - the http verb to use when calling the endpoint (required)

      • The headers - any custom headers to be passed when calling the endpoint

      • And finally, the schedule time - the date time at which they would like us to call the endpoint with the details as described above

    • The API will then store these details in the database

    • At the scheduled time, the event would be executed wherein the endpoint associated with the event would be called and the rest of the details for the event (payload, headers etc) would also be utilized.

  • The api, the database and the executor that eventually executes the scheduled event - all these resources have to be within the AWS ecosystem.

    • API: API Gateway + Lambda Function

    • Database: Dynamodb

    • Executor: Step Function + Lambda Function

  • Kindly refer to the blog provided as reference and provide a solution that meets the above requirements

 

Deployment guide and validation document

Kindly provide a deployment guide along with your solution describing how to deploy your solution to AWS. For verification, kindly provide the url of your unlisted youtube video. In this video, you need to demonstrate an end to end workflow.

 

Important Notes

  • We would like it if you use serverless framework for this task but it is not a hard requirement. You can also submit the Cloudformation template if you are comfortable with that. For other approaches, please first clarify in the forum

  • You have to necessarily take the approach as described in the referenced blog.

  • It is expected that your solution execute the event at the scheduled time.



Final Submission Guidelines

You can zip your solution and upload it to Topcoder

 

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30103025