A simple, responsive movie listing app using React, TypeScript, TailwindCSS, and The Movie DB API.
Users can browse top-rated movies and manage their favorites with a ❤️.
- ⚛️ React + Vite
- 🧩 TypeScript
- 🎨 TailwindCSS
- 🧠 Redux Toolkit Query for data fetching
- 🗂 LocalStorage for persisting favorites
- 📡 The Movie DB API
This project was created to:
- Practice component design using React & TypeScript
- Learn how to fetch and display movie data from an external API
- Implement a simple favorite system using heart icons ❤️
- Preserve state using localStorage across page reloads
- Explore responsive layout design with TailwindCSS
- Displays top-rated movies in a responsive grid
- Each card includes:
- Movie poster
- Title
- Rating
- Overview
- Favorite icon (❤️ / 🤍)
- Shows only user-selected favorite movies
- Updates instantly when items are added or removed
- All data is fetched from The Movie DB using RTK Query
useGetTopRatedQueryis used to fetch movie listings
- Built using Tailwind’s grid utilities for mobile-first responsiveness
- Adjusts seamlessly from small to large screens
# Install dependencies
npm install
# Run the app locally
npm run devsrc/
├── components/ # MovieCard component
├── features/ # RTK Slice for movie API
├── pages/ # Home and Favorites pages
├── types/ # TypeScript interfaces
- Favorites are saved in localStorage
- Fully responsive
- Minimalist design focused on functionality
You can deploy this app to Netlify, Vercel or GitHub Pages.