In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
I added a http server to the start script as there were issues loading the json when running the application locally, it was simpler to serve up the resource via another http local server.
I decided to implement a preloading strategy for the poster images, as they were on average 1mb each. As this created a bad user experience if resources were not already in the browser cache.
I also wrote a base-catalogue-view component for reusabilty and inheritance.
I added a volatile cache for data, this was also extended to be used for image data blobs, but this would depend on what the device target was, examples being if the target was an embedded STB with mounted storage, blobs could be written into nand.
I took a more modularised approach, as this encourages seperation of concerns and also is better suited for unitary testing.
I would write a guard methodology for asynconous requests that are bound to view state changes.
If I had more time or if this was for a live deployment I would focus the implementation around what the delployment target is.
If I had more time I would write out unit tests.
Implement login flows, registration flows, title context menus and playback etc.
Builds the app for production to the build folder.