Giter VIP home page Giter VIP logo

react-movie-app's Introduction

Take a look at it!

Steps to run the app locally

  1. Clone the repo

    git clone https://github.com/facureyes/react-movie-app.git

  2. Go to project folder and install dependencies

    cd react-movie-app && npm i

  3. Run the app in development mode

    npm run start

  4. Go to your preferred web browser and Open http://localhost:3000 to view it in the browser.

React Coding Challenge

The goal of this coding challenge is to give you an opportunity to showcase your knowledge and show us how you work on a real-life project. We are intentionally not forcing you to use any particular library (other than React) so you don't have to learn something new just for a code challenge, but please take into account that even when we are not expecting a production ready app we do expect you to be able to explain why you picked those dependencies for the job. Also, please be mindful about not adding features outside of the scope of this code challenge so you don't end up investing more time than it's needed.

Introduction

Your local movie theater is in dire need of attracting new audience. To do this, they're asking you to build a simple web application that allows users discover new movies and search for them. Since they don't have a backend service, the first version of the application will be built using the public api https://developers.themoviedb.org/3

Features

The movie theater is requesting the following features for the first version

Discover

Upon opening the web application, users should be able to see a list of movies suggested by the application and sorted by popularity.
Pagination is not required for this version.

Search

In the discovery view, add a search bar at the top to allow users to query information about movies.
If the search field is empty, show the discovery results

Filter by rating

The rating is a value between 0 and 10.
Add a rating filter in the form of five stars like here.
When selecting a star, all the stars to the left should be selected as well.
The range of each star is 2, so, if the first star is selected, only movies with rating 0-2 should appear. If the second star is selected, only movies with rating 2-4 should appear, and so on.
If the star clicked is the currently active, disable the filter.
Do this filtering on the client side.

  • Rating field in the movie model: vote_average

Detail view

Upon clicking, a detail view must be shown, displaying more information about the movie.

Design

We do not require jaw dropping designs.
A clean, minimal UI will do.
We do want to see the movie images provided by the API. Here's a design suggestion, but it's up to you.

Development requirements

  • Use create-react-app for this project
  • Use latest version of React
  • Provide all the steps necessary to launch the application

Deliverables

  • The project's codebase delivered somehow (you pick).
  • Anything else you consider is important for understanding the application.

FAQ

  • Do I need to add tests?
    • No.
  • Do I need to use some specific dependency?
    • Other than React, use what you feel comfortable with and what you feel is necessary for this project
  • What kind of React features can I use?
    • No restrictions here, show us what you know. We love React, and we love to use the latest features.
  • Do I need to follow the designs?
    • No, feel free to build the UI as you like. We only care about the code.

react-movie-app's People

Contributors

facureyes avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.