Challenge Overview
We want to mockup the REST API using NodeJS and MongoDB technologies according to the provided API documentation.
The following APIs should be mocked up:
- media.browse
- media.getById
- media.getByIds
- media.getByOwner
- media.getFeaturedSelections
- media.getHighestRatedNewMedia
- media.getMostPopularNewMedia
- media.getMostRecentNewMedia
- media.search
- media.comment.browse
- media.tag.autocomplete
- media.tag.getByMediaId
- media.tag.getPopular
- mediaseries.browse
- mediaseries.browseOpen
- mediaseries.getById
- mediaseries.getByIds
- mediaseries.getByOwner
- mediaseries.search
- stat.getHighLevelStats
- stat.getTopTaggers
- stat.getTopRaters
All the APIs above have been defined in the provided API document, and you need to implement the following APIs as well (Please implement these with your best judgement):
- media.rateMedia - rate media
- media.add - add media, it should be a multi-part POST request (refer to the Java example code in the forum)
- mediaSeries.add - add media series
- media.comment.add - add media comment
- Support the retrieval of the media file itself (serves the file on a url pattern obtained from the media id, please check the API document for the url pattern - page 3 of the API document).
Note that when implementing the REST API:
- When issuing a POST request to REST API, the data should actually be added or changed
- When issuing a GET request to REST API, the POSTed data should be returned
- We should also be able to load some initial data from configured files, which can be changed by POST requests and returned by GET requests. Now only some media and comments data need to be configured (we'll provide you the sample media and comments JSON files).
We might want to make it support more endpoints (e.g. add endpoint to modify media etc.), your implementation should make it easy.
Final Submission Guidelines
Submission Deliverable
* Source Code
* Deployment Guide