CineScope is a modern movie recommendation app that demonstrates API consumption, routing, and state management. Built with Vite, React, TypeScript, TailwindCSS, and Framer Motion, the app allows users to explore trending movies, view detailed pages with trailers and reviews, and save favorites for future reference.
- Fetch and display movie data:
- Data is fetched from the TMDb API.
- Carousels for trending, featured, and recommended movies.
- Movie detail pages with trailers and reviews:
- Each movie has a dedicated page showing details, trailers, and reviews.
- Save favorite movies to a user profile:
- Favorites functionality allows users to save movies locally.
- Create a carousel of trending movies:
- Animated carousels for trending, featured, and recommended movies.
- Search and filter functionality:
- Add a search bar to find movies by title.
- Enable filtering by genre or rating.
- Frontend: React, TypeScript, TailwindCSS, Framer Motion
- Build Tool: Vite
- API: TMDb (The Movie Database)
- Node.js (v14+)
- npm or yarn
- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd cine-scope
- Install dependencies:
npm install
Create a .env
file in the root directory and add your TMDb API key:
VITE_TMDB_API_KEY=your_tmdb_api_key
Start the development server:
npm run dev
Build the application for production:
npm run build
Preview the production build:
npm run preview
Deploy the production build by uploading the dist
folder to your hosting platform or using Firebase Hosting.
src/
├── api/ # API utility functions
├── assets/ # Static assets (e.g., videos, images)
├── components/ # Reusable components (e.g., carousels, modals)
├── pages/ # Application pages (Home, MovieDetails, Favorites)
├── store/ # Redux slices for state management
├── App.tsx # Main application entry point
└── main.tsx # Vite entry point
This project is licensed under the MIT License. See the LICENSE file for details.
Happy exploring! 🚀