Skip to content

Latest commit

 

History

History
43 lines (28 loc) · 2.12 KB

README.md

File metadata and controls

43 lines (28 loc) · 2.12 KB

Movie App 🎬

Description

This Single Page Application (SPA) is a movie catalog designed to showcase, filter, and sort the extensive film collection available through The Movie Database (TMDB) API V3.

Key Features

  • Movie Listing: Users can view the catalog of movies in a table format with rows and columns.
  • Pagination: Users can navigate through the movie catalog divided into pages.
  • Filtering & Sorting: Enables users to filter by genre and sort by popularity and title (ascending/descending).
  • Movie Details: Provides in-depth information about each movie, including title, overview, poster, rating, and genre.

Tech Stack

  • React: The core of the project, chosen for its component-based structure that promotes clean and maintainable code.
  • TypeScript: Added strong typing to JavaScript, catching errors early and making the codebase more reliable.
  • TMDB API: This provided the rich movie data that drives the app. Integration was smooth and let me focus on the front-end.
  • Testing (Jest): Wrote unit and integration tests with Jest to ensure the app works as expected and is less prone to bugs.
  • Deployment (Vercel): Deployed on Vercel for easy access.

Development Process

1. Prototyping:

  • Started with a low-fidelity prototype (provided by the Product Owner) to visualize the basic layout and user flow.
  • Translated the low-fidelity prototype into a high-fidelity Figma design, refining the visual aspects and interactions.

2. Implementation:

  • Built the React components, following the design and adhering to best practices.
  • Integrated the TMDB API to fetch and display movie data.
  • Implemented filtering, sorting, and pagination functionality.
  • Created a detailed movie view for individual movie information.
  • Wrote comprehensive unit and integration tests using Jest and mocks.

3. Deployment:

  • Deployed the application to Vercel, utilizing its streamlined deployment process and robust infrastructure.

🚀🚀