This is not a test! Seriously, try and have fun with it, make it your own!
Introduction
- 😍 Be sure to write comments, a README and any assumptions. Provide instructions on how to run the project and any notes about your solution.
- 🤩 Feel free to use a JavaScript framework. We use React, Vue and plain JavaScript here but use what you’re most comfortable with.
- 🤨 You can also use a starter kit like Create React App or Vue CLI to save time.
- 🤗 We love clean, responsive interfaces. Pick your favourite Google font and layout the movies in a grid, adjusting the number of columns as the device width allows.
- 🧐 We’re most interested to see problem solving and your approach… also ES6 please.
- 😇 Keep it simple, keep it DRY, but don’t over complicate or over engineer, comment and test as much as possible.
- 🤓 Commit your code to a public Git repository and provide us with the URL.
- 😎 We know your time is precious. If you aren’t able to complete all tasks, or if you use third party styles or components to speed things up - no worries! Just detail what you’ve prioritised and why in your README.
Brief
Using the TMDb API display a list of now showing movies allowing the user to filter by genre and rating. Don't worry about pagination, the first page is fine.
Note: You’ll need an TMDb account to request an API key. Once you are registered, go to account settings and click 'API' in sidebar.
Input
Output
- Display a list of movies, each showing their title, genres and poster image.
- The movies should be ordered by popularity (most popular first -
popularity
property).
- Movies should be filterable by multiple genres, the user should have the ability to toggle movies depending on all of its assigned genres. For example if 'Action' and 'Drama' genres are selected listed movies must have both 'Action' and 'Drama' genres.
- Movies should also be filterable by their rating (
vote_average
property). i.e If rating was set to 5, you would expect to see all movies with a rating of 5 or higher.
- The input API's should only be called once.