Netflix GPT is a Netflix clone that uses AI to provide personalized movie recommendations. Users can search for movies and get suggestions powered by GPT.
This project is based on a boilerplate by ascii-16 and was inspired by Akshay Saini. It uses modern tools like React, React Query, Zustand, TypeScript, and Vite for a fast and smooth experience. Additionally, it features i18n for localization, Firebase Authentication, and DaisyUI for a Tailwind-based UI design.
- 🎯 AI-powered movie recommendations using GROQ AI
- 🌎 Multi-language support via i18next
- 🔒 Secure authentication using Firebase
- ⚡ Super-fast builds and optimizations with Vite
- 💻 Elegant UI and state management using Zustand and DaisyUI
- 🔐 Type safety with TypeScript
Tool | Version |
---|---|
NodeJS | >=16 |
TypeScript | >=4.9.4 |
git clone https://github.com/XindiShang/netflix-gpt.git
cd netflix-gpt
pnpm install
pnpm run dev
Command | Description |
---|---|
start |
Run build:css then watch TailwindCSS and Vite concurrently |
watch:css |
Watch for changes in index.css and output to styles.css using TailwindCSS |
build:css |
Build CSS using TailwindCSS from index.css to styles.css |
build |
Run TypeScript compiler, build CSS and then Vite build |
preview |
Run Vite preview |
lint |
Lint TypeScript files using ESLint |
lint:fix |
Fix linting issues in TypeScript files using ESLint |
format |
Format .ts , .tsx , and .json files using Prettier |
test |
Run Jest tests |
release |
Run standard-version for versioning |
commit |
Use git-cz for commits |
prepare |
Set up Husky for git hooks in a production environment |
├── public
└── src
├── components
├── pages
├── services
├── store
└── types
├── routes
├── lib
├── i18n
Folder | Description |
---|---|
src/ |
Contains the main source code for the application. |
components |
Reusable React components, each handling a specific piece of the UI. |
lib |
Miscellaneous utility functions, helpers, and other standalone pieces of logic. |
pages |
Components representing full pages in the application, typically corresponding to routes. |
routes |
Configuration and components related to routing in the application. |
services |
Functions or classes that handle tasks like API calls, data processing, or other "service"-like tasks. |
store |
Zustand stores for state management. |
i18n |
Internationalization and localization configuration and utilities. |
public/ |
Contains static assets like images, fonts, and the entry HTML file. Assets in this directory are served directly and are not processed by bundlers like Vite. |
If you'd like to contribute to this boilerplate, feel free to fork and send a PR. All contributions are welcome!