Tech

FrontendMovie listings UI challenge

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 in how you return and layout the results. Also, please don't use a CSS framework.
  • 😇 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 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 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.