This document contains a coding assignment for the candidate who applied for the Server Engineer position at Heyy, . The main goal is to find someone who is experienced in the field, rather than find someone who just started stepping into the world of coding.
Duration: Maximum 6 days
Candidates participating in this round are required to build a simple web app (along with rest api endpoints) using a backend language (.NET framework / .Net core / C#) and front end framework of your choice, that displays top rated movies from TMDb. The UI decisions are at the liberty of the candidates long as the elements of aesthetics, information and attention to detail are not lost.
Things to know before beginning this exercise are the following:
1. The API for the app should be from http://themoviedb.org.
2. Candidates may familiarize themselves with the documentation available at https://developers.themoviedb.org/3 and register for an API key before starting coding to prevent time wastage. Use api_key f7b43fb7fcb594401ceeffb0ae60be57
3. App should display a list of top rated movies. Clicking on a movie will display some details of the movie such as post, title, overview, release date and trailer,
4. App should have a simple filter button. Tapping on this button should open a Filter view which has two fields “Min Year” and “Max Year”.
Customers who use this awesome app will be able to filter movies based on minimum and maximum year range entered.
5. Allow users to view and play trailers using Youtube. (Fetch video trailer using this api https://developers.themoviedb.org/3/movies/get-movie-videos)
6. Develop rest api endpoints which are easy to test using postman. Provide simple documentation about api endpoints in readme.md or api_doc.md file
7. Use a database of your choice such as MySQL, mongoDB or Postgres etc.
8. It would be bonus to containerized app and provide us docker image
9. It would be a bonus to deploy website on a free web server and give us public URL
Upon completion, please create a readme.md file with instructions to run the code. Specify the libraries and architecture used in developing the app. Archive the source code folder (or docker image), upload to google drive and send the link back to the recruitment team.
Use backend language/framework: C#, .NET framework, .NET core