Challenge Overview
Welcome to Merlin Query Builder - XML based Mock API Contest. As part of this contest, we will be creating a mock XML based API in Nodejs.
ATTENTION: We are using the subjective scorecard for this contest
Project Overview
In simplest terms, our project is a web app that has different forms. Users enter values in this form and when the form is submitted, the app calls an API on the server that returns with data.
Our app is a database query creator. Instead of writing SQL queries to query a database, our app allows users to instead fill up a form and generates the SQL queries for them, which then queries the database.
Contest Overview
For this contest, we would like you to build a mock API using Nodejs (version 8) that accepts and returns data in XML. We intend to use this API for our web app.
Contest Details
We will share with you in the Contest Forum three documents:
-
Images of how our app looks like
-
A document detailing the business logic of our web app
-
A document describing in detail the XML data that the API will be working with. This will be accompanied by another document, that provides additional information specific to this contest.
-
Sample request and response
Only the third and fourth document is relevant for this contest. The first two assets are mainly to give you a background about the app, so that the XML document makes sense. Please use only the third document, the one describing the XML data, as reference for this contest. The business logic document has minor changes that may or may not be visible in the app images - in this case, always follow what the XML document describes. That will be the final source of truth.
Note that you will be creating a mock API - the API will contain just enough data for us to integrate it with our prototype.
The expectation from the API is:
-
User should be able to actively work on the web app and carry out all actions
-
For most of the requests, you will provide mock data. For others, we have explicitly listed out the data to return. You can make use of third party libraries (like fakerjs or equivalent) though not necessary
-
No database is expected for this api.
-
Deploy the app to Heroku and share the url in your deployment guide / README file
-
Use Nodejs version 8 for the api server
Final Submission Guidelines
Zip the code base. Upload it to Topcoder.