Skip to content

High-performance YouTube clone with React 18, Redux Toolkit & Tailwind CSS. Features advanced search debouncing, real-time chat & metrics dashboard.

Notifications You must be signed in to change notification settings

siddharthharshraj/Me-Tube

Repository files navigation

MeTube - Video Streaming Platform with Live Chat Feature

React Redux Toolkit Tailwind CSS

A high-performance YouTube clone built with React 18, Redux Toolkit, and Tailwind CSS. Features advanced search debouncing, real-time chat simulation, nested comments, and comprehensive performance metrics dashboard.

🚀 Live Demo

[Live Demo Link]

🛠️ Technologies Used

  • React 18 - Latest React with concurrent features and improved performance
  • Redux Toolkit - Modern Redux for efficient state management
  • Tailwind CSS - Utility-first CSS framework for responsive design
  • React Router DOM - Client-side routing with lazy loading
  • YouTube Data API v3 - Real video data integration
  • Google Suggest API - Autocomplete search functionality

✨ Features

🔍 Advanced Search with Debouncing

  • 92% API call reduction through intelligent debouncing (200ms delay)
  • 125ms average response time with caching implementation
  • Real-time search suggestions with keyboard navigation
  • O(1) cache lookup for repeated searches

💬 Real-time Live Chat Simulation

  • 25+ concurrent users support with 35ms message delivery
  • 12 messages/second processing capability
  • 16ms UI update latency for smooth real-time experience
  • API polling every 2 seconds with mock data generation

🗨️ Recursive Nested Comments System

  • Unlimited threading depth with Reddit-like architecture
  • Recursive React components for complex data structures
  • Interactive like/dislike and reply functionality
  • Mobile-responsive design with proper indentation

📊 Performance Metrics Dashboard

  • Real-time metrics display at /metrics route
  • Interactive performance cards with status indicators
  • JSON download functionality for test results
  • Custom testing framework with actual performance data

🎨 Modern UI/UX

  • Dark/Light theme support with system preference detection
  • Mobile-first responsive design across all breakpoints
  • Shimmer UI loading states for better user experience
  • Consistent navigation with header/footer integration

⚡ Performance Optimizations

  • Code splitting with React.lazy and Suspense
  • Route-level lazy loading for reduced bundle size
  • Intelligent caching with Redux state management
  • API rate limiting with exponential backoff retry mechanism

📈 Performance Metrics

Real Test Results

  • Search Debouncing: 92% efficiency, 125ms response time
  • Live Chat: 35ms delivery time, 25 concurrent users
  • API Rate Limiting: 85% success rate, intelligent retry mechanism
  • Overall Performance Score: 88/100

View detailed metrics at /metrics route or download the complete performance report.

🚀 How to Run the App

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn package manager

Installation & Setup

# 1. Clone the repository
git clone https://github.com/siddharthharshraj/mytube29.git

# 2. Navigate to project directory
cd mytube29

# 3. Install dependencies
npm install

# 4. Create environment file
cp .env.example .env

# 5. Add your YouTube API key to .env
REACT_APP_GOOGLE_API_KEY=your_youtube_api_key_here

# 6. Start the development server
npm start

# 7. Open in browser
# http://localhost:3000

Available Scripts

  • npm start - Runs the app in development mode
  • npm run build - Builds the app for production
  • npm test - Launches the test runner
  • npm run eject - Ejects from Create React App (one-way operation)

🏗️ Project Structure

mytube29/
├── public/
│   ├── metrics/
│   │   └── metrics.json          # Performance test results
│   └── index.html
├── src/
│   ├── components/               # React components
│   │   ├── MetricsPage.js       # Performance dashboard
│   │   ├── Head.js              # Header with navigation
│   │   ├── LiveChat.js          # Real-time chat
│   │   └── ...
│   ├── utils/                   # Utility functions
│   │   ├── store.js             # Redux store configuration
│   │   ├── constants.js         # API endpoints
│   │   └── metricsGenerator.js  # Metrics download functionality
│   ├── tests/                   # Performance test scripts
│   └── App.js                   # Main app component
└── package.json

👨‍💻 Developer

Built by Siddharth Harsh Raj
Full-Stack Developer & MeTube Creator

A Video Streaming Platform crafted with React, Redux & Modern Web Technologies

Connect with me

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Development Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is open source and available under the MIT License.

🙏 Acknowledgments

  • YouTube Data API v3 for video content
  • Google Suggest API for search functionality
  • React community for excellent documentation
  • Tailwind CSS for utility-first styling approach

Made with ❤️ by Siddharth Harsh Raj

About

High-performance YouTube clone with React 18, Redux Toolkit & Tailwind CSS. Features advanced search debouncing, real-time chat & metrics dashboard.

Topics

Resources

Stars

Watchers

Forks