Challenge Overview
Challenge Objectives
-
Write the Swagger Specification for an api that allows for scheduling of events
Project Background
-
This 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
-
Swagger Specification (version 2)
Code access
No code involved here
Individual requirements
Write the Swagger Specification for an api that allows for scheduling of events (Major Requirement)
-
For now, we will have just one model named ScheduledTasks
-
This model will have the following attributes:
-
Scheduled Time (scheduledTime): The time at which the event needs to be triggered. Required.
-
Endpoint (endpoint): The endpoint url that needs to be called at the scheduled time. Required
-
Method Type: The HTTP verb to use when calling the above endpoint. Required
-
Payload (payload): The payload (an object) that needs to be passed to the endpoint. Optional
-
Status (status): Enum values would be “ready”, “running”, “failed”, “completed”, “rescheduled” and “disabled”. Default would be "ready".
-
id, createdBy, createdAy, updatedBy and updatedAt fields are needed too. Self explanatory fields
-
-
Follow Topcoder’s v5 standards for apis here. (Document will be shared in the contest forum). You can also refer to the specifications for Submission API for reference
-
You need to define CRUD endpoints (including HEAD requests).
-
Kindly support pagination for the GET all records endpoint
Deployment guide and validation document
No deployment document expected
Final Submission Guidelines
Kindly upload the swagger specification file