A modern, responsive, and feature-rich movie streaming application built with Next.js 14, Tailwind CSS, and Shadcn UI. This project allows users to browse trending, popular, and latest movies, search for their favorites with smart suggestions, and watch them instantly for free.
The landing page featuring a dynamic hero slider, trending movies, and infinite scrolling lists.

Real-time search suggestions as you type, similar to YouTube, helping you find movies faster.

Comprehensive search results grid with infinite scrolling.

Full-screen responsive video player with detailed movie information, cast, and related recommendations.

- 🎥 Unlimited Streaming: Watch thousands of movies for free without registration.
- ♾️ Infinite Scrolling: Browse endless lists of popular and trending movies.
- 🔍 Smart Search: Instant search suggestions with debounce for a smooth user experience.
- 📱 Fully Responsive: Optimized for all devices - Mobile, Tablet, and Desktop.
- ⚡ High Performance: Built on Next.js for lightning-fast page loads and SEO.
- 🎨 Modern UI: Beautiful dark-mode interface using Tailwind CSS and Shadcn UI.
This application aggregates data and content from two primary sources:
- The Movie Database (TMDB) API: Used to fetch all movie metadata, including titles, descriptions, posters, backdrops, ratings, and cast information.
- VidSrc API: Used to embed the video player for streaming the content.
Note: This project does not host any video content. It serves as a search engine and interface for publicly available streams.
Follow these steps to set up the project locally on your machine.
- Node.js: Version 18 or higher.
- Package Manager: npm, pnpm, or bun.
-
Clone the repository
git clone https://github.com/piyushsarkar-dev/movie.git cd movie -
Install dependencies
npm install # or pnpm install # or bun install
-
Set up Environment Variables Create a
.env.localfile in the root directory and add the following keys:NEXT_PUBLIC_TMDB_BASE_URL=https://api.themoviedb.org/3 NEXT_PUBLIC_TMDB_API_KEY=your_tmdb_api_key_here NEXT_PUBLIC_TMDB_IMAGE_BASE_URL=https://image.tmdb.org/t/p NEXT_PUBLIC_TMDB_BACKDROP_BASE_URL=https://image.tmdb.org/t/p/original NEXT_PUBLIC_VIDSRC_BASE_URL=https://vidsrc.xyz/embed
How to get a TMDB API Key:
- Go to The Movie Database (TMDB).
- Sign up for a free account.
- Go to Settings > API.
- Create a new API key and copy it to your
.env.localfile.
-
Run the development server
npm run dev # or pnpm dev # or bun dev
-
Open your browser Navigate to http://localhost:3000 to see the app running.
The easiest way to deploy this app is using Vercel.
- Push your code to a GitHub repository.
- Go to Vercel and sign up/login.
- Click "Add New Project" and select your repository.
- In the "Environment Variables" section, add all the keys from your
.env.localfile. - Click "Deploy".
Your movie streaming site will be live in minutes!
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS
- Components: Shadcn UI
- Icons: Lucide React
- Data Fetching: Server Actions & Fetch API
Piyush Sarkar
- GitHub: @piyushsarkar-dev
Disclaimer: This project is for educational purposes only. The author does not endorse or promote piracy. Please respect copyright laws in your country.