Skip to content

A `virtualized` movieList platform with infinite scrolling and genre filters

Notifications You must be signed in to change notification settings

MNaushad97/movieFlix97

Repository files navigation

MovieFlix97

A responsive web application that displays a virtualized list of movies from The Movie Database (TMDb) API. The app shows top movies for each year and users can filter by genre.

Please visit for -> Live Preview in CodeSandbox

Or you can scroll to GIFs to get a glance

used React + React Virtuoso + CSS

  • Enhanced rendering performance by implementing virtualized rendering for large data sets.
  • Implemented smooth scrolling behavior to load more movies as the user scrolls in any direction (from 2010 to currentYear)

About List virtualization About virtualized-rendering

How To Run The Project

Prerequisite:

  • vs code
  • node v18

Steps to Run The Project

  1. Open terminal/cmd at project location and run command: git clone https://github.com/MNaushad97/movieFlix97.git
  2. move to folder movieFlix97 using command: cd movieFlix97
  3. Make sure you have the .env file intact with REACT_APP_API_KEY
  4. To install dependencies run command: npm install
  5. Now run app using command: npm start
  6. The project will get hosted at url: http: localhost:3000

Features Covered ✅ :

  • Created custom UI components for the app, using React
  • Displays a list of movies sorted in descending order of popularity.
  • Shows information card for each movieCard.
  • Load a total of only 20 movies for each year
  • Implemented smooth scrolling behavior
  • Implemented virtualised rendering maintaing infinite scroll feel
  • Interaction is smooth and doesn’t cause any jitters.
  • Allows users to filter movies by genre.
  • Multiple Genre selection implemented

⚠️ 🚧 Feature in Progress :

  • loading movies of previous year when user scrolls up (logic commented / removed )

Encountered scroll jump issues while trying to load the previous year's movie list. To ensure a smoother and more responsive user experience had to optimize the code by streamlining certain logic and reducing unnecessary computations related to the movie list retrieval and rendering.

→ By default, when a user lands on the page, it displays a list of movies of the year 2012


→ Shows information card for each movieCard.

Allow the image to load


About

A `virtualized` movieList platform with infinite scrolling and genre filters

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published