Skip to content

benoitgrasset/canal-plus-technical-test

Repository files navigation

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, install the node modules:

npm install
# or
yarn

Then run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.tsx. The page auto-updates as you edit the file.

Tests

npm run test
# or
yarn test

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

The app is deployed here

What is expected

  • To render a list of movies from themoviedb

  • To view details about a movie by clicking on it

API

The request can be passed using: API key (v3): 92b418e837b833be308bbfb1fb2aca1e

Documentation: https://developers.themoviedb.org/3/

HTTP request exemple:

    GET
    https://api.themoviedb.org/3/discover/movie?api_key=92b418e837b833be308bbfb1fb2aca1e&language=en-
US&sort_by=popularity.desc&page=1&timezone=America/New_York&include_null_first_air_dates=false

Technos

NextJS (server side rendering, lazy loading for images, ...) and create-next-app to create a new Next.js app within seconds

Vercel for deployment, simply deploy a Next app to the cloud

cssinjs for styling, to use JavaScript to describe styles

mui UI library to have nice components faster

react-query hooks for fetching, caching and updating state. To use infinite scrolling and load dynamically movies when scrolling. Also to store the data in cache and use it when needed

typescript to add types to Javascript

react-testing-library for unit tests