Challenge Overview
A previous challenge has implemented a set of REST APIs for handling video assets, including storing them and managing them (create, retrieve, update, delete). This challenge will add some new content scrapers.
Existing API
The existing Node application and deployment details are in Gitlab, and the URL to the repository can be found in the forum.
Video scrapers
This challenge will add new video scrapers for the items below. We want either M3U8, MPEG Dash, or MP4 streams for the parsed videos. Make sure to look at other video scrapers, like CNN or NYT to get a good idea of what's expected.
Australian ABC News:
* Web URL: http://mobile.abc.net.au/news/video/
Feed parser (a couple examples below):
Existing API
The existing Node application and deployment details are in Gitlab, and the URL to the repository can be found in the forum.
Video scrapers
This challenge will add new video scrapers for the items below. We want either M3U8, MPEG Dash, or MP4 streams for the parsed videos. Make sure to look at other video scrapers, like CNN or NYT to get a good idea of what's expected.
Australian ABC News:
* Web URL: http://mobile.abc.net.au/news/video/
Feed parser (a couple examples below):
* RSS URL: http://feed.theplatform.com/f/P_bgCC/NBCNews_new
* RSS URL: http://feed.theplatform.com/f/P_bgCC/Time
Bugs and enhancements
These bugs and enhancements must be fixed in your submission as well:
* https://gitlab.com/hercules-tv-web-apps/web/issues/303
* https://gitlab.com/hercules-tv-web-apps/web/issues/308
* https://gitlab.com/hercules-tv-web-apps/web/issues/309
* https://gitlab.com/hercules-tv-web-apps/web/issues/310
* https://gitlab.com/hercules-tv-web-apps/web/issues/311
Make sure the README is updated with verification information about the new features and configuration information so they can be easily added.
Unit tests
As with the other scrapers, unit tests are required for these new changes. Your tests must cover positive and negative cases and should be reasonably good at covering edge cases and error cases.
Heroku deploy
Make sure the Heroku deployment information is up-to-date and that you keep the package.json up to date as well. Don't expect the deployment to be anything other than "npm install" / "npm start" locally and "git push heroku master" for Heroku deployment.
Submission format
Your submission should be provided as a Git patch file against the commit hash mentioned in the forum. MAKE SURE TO TEST YOUR PATCH FILE!