A Netflix clone built with two different React setups — one using React + Vite and another using Next.js. Both versions fetch movie and TV show data from The Movie Database (TMDB) API.
Both apps require an API key from The Movie Database (TMDB).
- Create a free account at https://www.themoviedb.org/signup
- Go to your Account Settings → API
- Request an API key and copy the API Key (v3 auth)
This monorepo contains two separate apps:
| App | Stack |
|---|---|
netflix-create-react-vite-app |
React, Vite, TypeScript, TanStack Query, Playwright, Styled Components, Framer Motion |
netflix-create-next-app |
React, Next.js, TypeScript, TanStack Query, Shadcn UI, Tailwind CSS, Framer Motion |
Navigate to the Vite app folder and create a .env file:
cd netflix-create-react-vite-appCreate a .env file with the following content:
VITE_API_KEY="your-tmdb-api-key-here"
SKIP_PREFLIGHT_CHECK=true
MY_LIST_ID=""Note: Replace
your-tmdb-api-key-herewith your actual TMDB API key.
pnpm install
pnpm devThe app will start at http://localhost:5173 (or another port if 5173 is in use).
| Script | Description |
|---|---|
pnpm dev |
Start the development server |
pnpm build |
Build for production |
pnpm preview |
Preview the production build locally |
pnpm test:e2e |
Run Playwright end-to-end tests |
pnpm test:e2e:ui |
Run Playwright tests with UI |
pnpm format |
Format code with Ultracite |
Navigate to the Next.js app folder and create a .env.local file:
cd netflix-create-next-appCreate a .env.local file with the following content:
NEXT_PUBLIC_API_KEY="your-tmdb-api-key-here"Note: Replace
your-tmdb-api-key-herewith your actual TMDB API key.
pnpm install
pnpm devThe app will start at http://localhost:3000 (or another port if 3000 is in use).
| Script | Description |
|---|---|
pnpm dev |
Start the development server |
pnpm build |
Build for production |
pnpm start |
Start the production server |
pnpm lint |
Run ESLint |
pnpm type-check |
Run TypeScript type checking |
ReactViteTypeScriptTanStack/react-queryPlaywrightStyled-componentsFramer-motionTMDB API
ReactNext.jsTypeScriptTanStack/react-queryShadcn UITailwind CSSFramer-motionTMDB API
This project is for educational purposes only.

