Skip to content

Repository files navigation

YouTube Clone

A modern YouTube clone built with React, TypeScript, and Tailwind CSS and test with vitest. This application provides a seamless video browsing experience with features similar to YouTube.

Features

  • 🎥 Video Categories

    • Home: Popular videos
    • Explore: Trending content
    • Movies: Latest movie trailers
    • Gaming: Gaming content
    • News: Latest news videos
    • Sports: Sports highlights
    • Learning: Educational content
  • 💫 Modern UI Features

    • Responsive design
    • Collapsible sidebar navigation
    • Video grid layout
    • Video player with comments
    • Related videos sidebar
    • View count formatting
    • Smooth animations with Framer Motion

Tech Stack

  • ⚛️ React 18
  • 🔷 TypeScript
  • 🎨 Tailwind CSS
  • 🚀 Vite, Vitest
  • 🎭 Framer Motion
  • 🔄 React Router DOM
  • 📡 Axios
  • 🎬 YouTube Data API v3

Getting Started

  1. Clone the repository
git clone <repository-url>
  1. Install dependencies
npm install
  1. Set up environment variables Create a .env file in the root directory and add your YouTube API key:
VITE_YOUTUBE_API_KEY=your_youtube_api_key
  1. Start the development server
npm run dev

Project Structure

src/
├── components/
│   ├── Sidebar.tsx        # Navigation sidebar
│   ├── YouTubeVideo.tsx   # Main video component
│   └── VideoCard.tsx      # Video preview card
├── pages/
│   └── Home.tsx           # Main page layout
├── lib/
│   └── types.ts           # TypeScript interfaces
└── App.tsx                # Root component

Features in Detail

Video Categories

  • Each category fetches relevant content using the YouTube Data API
  • Custom search queries for different content types
  • View counts and video statistics

UI Components

  • Responsive sidebar with animated transitions
  • Video grid with thumbnail previews
  • Full video player with related videos
  • Comment section for each video

Navigation

  • Client-side routing with React Router
  • Persistent layout between route changes
  • Smooth transitions between pages

Contributing

Feel free to submit issues and enhancement requests!

About

No description, website, or topics provided.

Resources

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages