Skip to content

Latest commit

 

History

History
56 lines (44 loc) · 2.07 KB

CHALLENGE.md

File metadata and controls

56 lines (44 loc) · 2.07 KB

React Next.js Docker Interview Challenge

Overview

Create a simple web application using React and Next.js that displays a list of popular movies and allows users to view details about each movie. The application should be containerized using Docker.

Requirements

1. Movie List Page

  • Fetch a list of popular movies from The Movie Database (TMDb) API.
  • Display the movies in a grid layout with movie posters, titles, and release dates.
  • Implement pagination or infinite scrolling to load more movies.

2. Movie Detail Page

  • Create a separate page to display detailed information about a selected movie.
  • Include the movie poster, title, overview, release date, and average rating.
  • Implement dynamic routing using Next.js.

3. Search Functionality

  • Add a search bar that allows users to search for movies by title.
  • Display search results in the same grid layout as the main page.

4. Styling

  • Use CSS modules or a styling solution of your choice (e.g., Tailwind CSS, styled-components).
  • Make the application responsive for mobile and desktop views.

5. Docker

  • Create a Dockerfile to containerize the Next.js application.
  • Include instructions on how to build and run the Docker container.

Technical Requirements

  • Use functional components and hooks.
  • Implement proper error handling and loading states.
  • Use TypeScript for type checking (optional but preferred).
  • Include at least one unit test for a component or function.

API Information

Submission

  • Provide a GitHub repository with your code.
  • Include a README.md file with:
    • Setup instructions
    • Docker build and run commands
    • Any assumptions or decisions made during development
    • Ideas for future improvements

Evaluation Criteria

  • Code quality and organization
  • Proper use of React and Next.js features
  • API integration and error handling
  • User interface and experience
  • Docker implementation
  • Completeness of the solution within the time constraint

Good luck!