Objective As the tagline of Cyphertree says "Simplicity, Decoded", we are searching a right mind which can convert complex requirements and feature requests into simple and reusable code modules. Build a Netflix clone (sort of).
Features Home Page 4 lists/genres (Comedy, Horror etc…. Go figure! Add much as you want) Look and feel should be like Netflix. i.e. Horizontal list, on hover zoom etc. On click of any movie show its detail page Search Page By default should show any latest random movies in the list After users searches load the list with search results If nothing found in search then show message on screen “Nothing Found” but below that message show latest movies with Heading “But you may also like” Movie Detail Page Description User ratings “> Play” and “+ My List” button which does nothing. Similar movies - This should also have a similar look and feel like lists we have on index page. On click takes to detail page of the similar movie. Must Haves (Wont pass the test if following optimizations are not present): Once the api has loaded a movie detail, next time when we open the same movie we should not make one more api call since we have already fetched it before. Because name and description of a movie never changes. You could however update ratings and other dynamic stuff in the background but user should not feel the loading time since he/she has already opened that movie before. So the primary information should be cached to make the app faster. Same goes with search. If you already have called an api with a specific search term in past show that result immediately and make api call in the background to update the view. This way user quickly sees what they have searched before. Homepage is loaded only once when we start the app. Hence don’t call the api again and again every time you go back and forth from home page. Use content placeholder loading instead of any ugly loading icon. (If you don’t know what “content placeholder loading animation” means then you definitely know what it is. Because you have seen it in facebook, just google it and you will know what it is.) Nice To Haves. (Above all “must-haves” and features along with valid implementation of all the “Nice To Haves”? Welcome to Cyphertree, take your offer letter) Solid, Sensible Test Cases CircleCI integration Continuous Deployment Technology Angular 8 RxJS / NgRX or whatever you feel comfortable w.r.t. State management, as long as you can convince us with a valid reason behind why you took a certain approach. SASS/LESS/CSS. (Doesn’t matter, as long as it looks presentable and readable CSS. No inline CSS please!) API: MovieDB, OMDB. Choose the one you can get most out of easily.