This repository contains the source code for a dynamic Movie Website. It is built using modern web development technologies to deliver a seamless and interactive user experience.
- 🔥 Trending Filter – Dynamically view movies and shows by Today, This Week, Popular, or Top Rated.
- 🔍 Search Functionality – Instantly search for movies or shows by title.
- ✅ User Authentication – Login with Google to access personalized features.
- 🎯 Watchlist Management – Add or remove movies from your watchlist with a single click.
- 💾 Persistent State – Watchlist and preferences are saved per user, even on refresh.
- React
- Tailwind Css
- Firebase
- React Router & Icon
- Material UI
To get started, follow these steps:
-
Clone the repository:
git clone https://github.com/4ssh1/movieWebsite.git cd movieWebsite -
Install dependencies:
npm install
-
Start the server:
npm run dev
movie-website/
eslint.config.js
index.html
package-lock.json
package.json
postcss.config.mjs
public
├── collage.jpg
├── movie.jpg
├── noImage.jpg
├── youtube.svg
README.md
src
├── api
│ ├── api.js
├── App.jsx
├── assets
│ ├── desktop.ini
│ ├── live.png
├── components
│ ├── Card.jsx
│ ├── Footer.jsx
│ ├── Hero.jsx
│ ├── Layout.jsx
│ ├── MovieHero.jsx
│ ├── Navbar
│ │ ├── DynamicBar.jsx
│ │ ├── MenuBar.jsx
│ │ ├── ThemeButton.jsx
│ ├── Navbar.jsx
│ ├── Profile.jsx
│ ├── ProtectedRoute.jsx
│ ├── SearchBar.jsx
│ ├── ShowsHero.jsx
│ ├── VideoComponent.jsx
├── consts
│ ├── NavbarConsts.jsx
│ ├── PaginationBtn.jsx
├── context
│ ├── AppContent.jsx
│ ├── ContextProvAll.jsx
│ ├── ContextWrapper.jsx
│ ├── ThemeContextProvider.jsx
├── index.css
├── main.jsx
├── pages
│ ├── Details.jsx
│ ├── HomePage.jsx
│ ├── MoviePage.jsx
│ ├── ProfilePage.jsx
│ ├── SearchPage.jsx
│ ├── TvShowsPage.jsx
├── routes
│ ├── DetailsRoutes.jsx
│ ├── MainRoutes.jsx
│ ├── SearchRoutes.jsx
├── RoutesConfig.jsx
├── services
│ ├── firebase.js
│ ├── fireStore.js
tailwind.config.js
vercel.json
vite.config.js
We welcome contributions! To contribute:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature-name
-
Commit your changes and push them to your fork.
-
Create a pull request.
This project is licensed under the MIT License.
