Skip to content

JDKamalakar/MissingTube

Repository files navigation

🌊 MissingTube - YouTube Playlist Analyzer

MissingTube Banner

PWA TypeScript React Tailwind CSS Vite

A modern, feature-rich Progressive Web App for analyzing YouTube playlists and recovering missing video titles

πŸš€ Live Demo β€’ πŸ“± Install as PWA β€’ πŸ”§ Getting Started β€’ πŸ“– Documentation

✨ Features

🎯 Core Functionality

  • πŸ“Š Comprehensive Playlist Analysis - Get detailed insights into your YouTube playlists
  • πŸ” Missing Video Recovery - Identify and recover titles of unavailable/deleted videos
  • πŸ“± Grid & Table Views - Switch between beautiful card layouts and detailed table views
  • πŸ”„ Smart Filtering - Filter by available, unavailable, or all videos
  • πŸ“‹ Backup & Restore - Export your playlist data and import previous backups
  • πŸ”— Multi-Platform Search - Search for missing videos across Internet Archive, Brave, Twitter, and Reddit

🎨 Design & User Experience

  • 🌊 Beautiful Ocean Theme - Stunning animated gradients with floating flares and sparkles
  • πŸŒ“ Dark/Light Mode - Automatic system detection with manual override
  • πŸ“± Responsive Design - Perfect experience on mobile, tablet, and desktop
  • β™Ώ Accessibility First - Built with Material Design 3 principles
  • ⚑ Smooth Animations - Delightful micro-interactions and transitions
  • 🎭 Progressive Web App - Install on any device for native-like experience

πŸ”§ Technical Features

  • πŸ” Secure API Key Management - Encrypted local storage of YouTube API credentials
  • πŸ’Ύ Smart Caching - Offline support with service worker implementation
  • πŸ“ˆ Real-time Statistics - Live playlist analytics and insights
  • πŸ”„ File Comparison - Compare current playlist with backup files
  • πŸ“± Install Prompts - Smart PWA installation suggestions
  • 🎯 Performance Optimized - Fast loading with code splitting and lazy loading

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn
  • YouTube Data API v3 key (Get it here)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/missingtube.git
    cd missingtube
  2. Install dependencies

    npm install
  3. Start development server

    npm run dev
  4. Open your browser

    http://localhost:5173
    

Building for Production

# Build the app
npm run build

# Preview the build
npm run preview

πŸ“± PWA Installation

MissingTube can be installed as a Progressive Web App on any device:

Desktop (Chrome, Edge, Safari)

  1. Visit the website
  2. Look for the install icon in the address bar
  3. Click "Install MissingTube"
  4. The app will appear in your applications folder

Mobile (iOS/Android)

  1. Open the website in your browser
  2. Look for the install icon in the address bar
  3. Click "Install MissingTube"
  4. The app will appear in your applications folder

Features When Installed

  • πŸ“± Native-like experience - Runs in its own window
  • ⚑ Faster loading - Cached resources load instantly
  • πŸ”„ Offline support - Basic functionality works without internet
  • πŸ“¬ Push notifications - Get updates about new features (coming soon)

🎯 How to Use

1. Configure API Key

  • Click the "API Key" button in the navigation
  • Enter your YouTube Data API v3 key
  • The key is encrypted and stored locally

2. Analyze a Playlist

  • Paste any YouTube playlist URL or ID
  • Click "Analyze Playlist"
  • Wait for the analysis to complete

3. Explore Results

  • View playlist statistics and insights
  • Switch between grid and table views
  • Filter by video availability
  • Search for missing videos using external platforms

4. Backup & Compare

  • Download your playlist data as JSON
  • Compare with previous backups to find recovered titles
  • Merge data from multiple sources

πŸ› οΈ Tech Stack

Frontend

  • React 18 - Modern React with hooks and concurrent features
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first CSS framework
  • Material Design 3 - Google's latest design system
  • Lucide React - Beautiful, customizable icons

PWA Features

  • Service Worker - Offline support and caching
  • Web App Manifest - Native app-like installation
  • Background Sync - Data synchronization when back online
  • Cache API - Smart resource caching strategy

Build Tools

  • Vite - Fast build tool and development server
  • ESLint - Code linting and formatting
  • PostCSS - CSS processing and optimization

APIs & Services

  • YouTube Data API v3 - Playlist and video information
  • Web APIs - Fetch, Cache, Service Worker, Intersection Observer

🎨 Customization

Color Scheme

The app uses a beautiful ocean-inspired color palette. To customize:

  1. Edit src/index.css CSS variables:

    :root {
      --md-sys-color-primary: 14 165 233; /* Sky Blue */
      --md-sys-color-secondary: 6 182 212; /* Cyan */
      --md-sys-color-tertiary: 16 185 129; /* Emerald */
    }
  2. Update tailwind.config.js for additional customizations

Background Effects

The animated background can be customized in src/index.css:

  • oceanGradient animation for the main gradient
  • floatingFlares for the floating light effects
  • sparkles for the twinkling stars

πŸ”§ Configuration

Environment Variables

Create a .env.local file for local development:

VITE_APP_NAME=MissingTube
VITE_APP_VERSION=1.0.0
VITE_APP_URL=https://missingtube.app

PWA Manifest

Edit public/manifest.json to customize:

  • App name and description
  • Icons and screenshots
  • Theme colors
  • Display mode
  • Shortcuts

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

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

Code Style

  • Use TypeScript for all new code
  • Follow the existing code style
  • Add tests for new features
  • Update documentation as needed

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Google - For the YouTube Data API and Material Design
  • Tailwind Labs - For the amazing Tailwind CSS framework
  • Lucide - For the beautiful icon library
  • The React Team - For the incredible React framework
  • All Contributors - Thank you for making this project better!

πŸ”— Links

πŸ“Š Statistics

  • ⭐ Stars: Help us grow by starring the repo!
  • 🍴 Forks: See all the amazing forks
  • πŸ› Issues: Check current issues and help fix them
  • πŸ“ˆ Contributors: Join our amazing community

Made with ❀️ by the MissingTube team

⭐ Star us on GitHub β€’ 🐦 Follow on Twitter β€’ πŸ’¬ Join Discord

About

Discover missing videos in your YouTube playlists like never before. Our platform combines powerful analysis with a gorgeous, modern design, complete with subtle blur effects for a truly elegant experience. Reclaim your content and keep your playlists pristine.

Resources

Stars

Watchers

Forks

Contributors