An open API service indexing awesome lists of open source software.

https://github.com/me-safwan-07/vkmflix

VKMFlix is a modern and fully responsive movie streaming platform built using React.js, Vite, Tailwind CSS, Redux Toolkit, and TMDB API.
https://github.com/me-safwan-07/vkmflix

framer-motion reactjs redux tailwindcss tmdbapi

Last synced: about 2 months ago
JSON representation

VKMFlix is a modern and fully responsive movie streaming platform built using React.js, Vite, Tailwind CSS, Redux Toolkit, and TMDB API.

Awesome Lists containing this project

README

          

# 🎬 VKMFlix - Movie Streaming Website

VKMFlix is a modern and fully responsive movie streaming platform built using **React.js, Vite, Tailwind CSS, Redux Toolkit, and TMDB API**. This website allows users to browse trending movies, top-rated movies, popular TV series, and more. It also provides a trailer preview and theme switching functionality.

---

## πŸš€ Features
- **Home Page with Hero Section**: Displays the most popular movies with autoplay slides.
- **Movie Cards**: Beautiful cards for movies and TV series with hover effects.
- **Video Modal**: Watch trailers of movies and series.
- **Theme Switcher**: Switch between Light, Dark, and System themes.
- **Sidebar Menu**: Navigation menu for Movies, TV Series, and Home.
- **Search Functionality**: Allows searching for movies and TV series.
- **Responsive Design**: Fully responsive across all devices.
- **Lazy Loading**: Images load only when in the viewport.
- **Error Handling**: Displays error message if API fails.

---

## πŸ“ Folder Structure
```
me-safwan-07-vkmflix/
β”‚
β”œβ”€β”€ public/ # Public assets
β”œβ”€β”€ src/ # Source Code
β”‚ β”œβ”€β”€ assets/ # Static assets like SVGs
β”‚ β”œβ”€β”€ components/ # Reusable components
β”‚ β”‚ β”œβ”€β”€ Header/ # Header with navigation
β”‚ β”‚ β”œβ”€β”€ SideBar/ # Sidebar for navigation and theme change
β”‚ β”‚ β”œβ”€β”€ Section/ # Sections to display movies and series
β”‚ β”‚ β”œβ”€β”€ VideoModal/ # Modal to display trailers
β”‚ β”œβ”€β”€ context/ # React Context API for global and theme context
β”‚ β”œβ”€β”€ hooks/ # Custom React hooks
β”‚ β”œβ”€β”€ pages/ # Pages like Home
β”‚ β”œβ”€β”€ services/ # API call services using Redux Toolkit
β”‚ β”œβ”€β”€ style/ # Tailwind classes and styles
β”‚ β”œβ”€β”€ utils/ # Utility functions
β”‚ β”œβ”€β”€ App.jsx # Main App Component
β”‚ β”œβ”€β”€ main.jsx # Entry point of the application
β”œβ”€β”€ .env # Environment variables for API keys
β”œβ”€β”€ package.json # Project dependencies
β”œβ”€β”€ vite.config.js # Vite Configuration
```

---

## πŸ›  Built With
- **React.js** - Frontend JavaScript Library
- **Vite** - Fast build tool for React
- **Tailwind CSS** - Utility-first CSS framework
- **Redux Toolkit** - State management
- **React Router DOM** - Client-side routing
- **TMDB API** - Movie database API
- **Framer Motion** - Animation and modal transitions
- **React Icons** - Icons used in the website
- **React Lazy Load** - Lazy loading images

---

## πŸ“œ Environment Variables
Create a `.env` file in the root directory and add the following environment variables:

```
VITE_TMDB_API_BASE_URL=https://api.themoviedb.org/3
VITE_API_KEY=YOUR_TMDB_API_KEY
```

You can obtain your TMDB API Key from [The Movie Database (TMDB)](https://www.themoviedb.org/settings/api).

---

## πŸ“¦ Installation

1. **Clone the repository**:
```bash
git clone https://github.com/your-username/me-safwan-07-vkmflix.git
cd me-safwan-07-vkmflix
```

2. **Install dependencies**:
```bash
npm install
```

3. **Run the application**:
```bash
npm run dev
```

4. **Build the application** (for deployment):
```bash
npm run build
```

5. **Preview the build**:
```bash
npm run preview
```

---

## πŸŽ₯ API Used
This project uses the **TMDB (The Movie Database) API** to fetch:
- Trending Movies
- Top Rated Movies
- TV Series
- Movie Trailers

Refer to the official TMDB documentation for more information:
πŸ”— [https://developers.themoviedb.org/3](https://developers.themoviedb.org/3)

---

## 🎨 Theme Mode
The website supports **three theme modes**:
1. 🌞 **Light Mode**
2. πŸŒ™ **Dark Mode**
3. πŸ’» **System Mode** (Automatically detects system theme)

You can change the theme from the sidebar or the header.

---

## βœ… Features Overview
### Home Page
- Displays trending and popular movies in a beautiful carousel.
- Sections for **Top Rated Movies**, **Popular Series**, etc.
- "Watch Trailer" button to preview the movie's official trailer.

### Movie Card
- Hover effect to highlight the movie.
- Click to navigate to the movie details page.
- Trailer modal for instant preview.

### Sidebar Menu
- Toggleable sidebar for navigation.
- Option to switch themes.

### Search Functionality (Coming Soon 🚧)
- Future feature to search for movies and TV series.

---

## πŸ’» Deployment
You can easily deploy this project to platforms like **Vercel, Netlify, or Coolify**.
Here’s a Vercel deployment command:
```bash
npm run build
vercel deploy
```

---

## πŸ“œ License
This project is licensed under the **MIT License**.

---

## πŸ’Œ Support
If you have any queries or face any issues, feel free to contact us.

πŸ“© **Email:** support@vkmflix.com
🌐 **Website:** [www.vkmflix.com](http://www.vkmflix.com)