A next-generation video streaming platform built for the future
Live Website : vidion.vercel.app
Modern • Fast • Beautiful
Core Features
User Experience
Content & Discovery
🎬 High-quality video streaming
🎨 Dark/Light theme support
📈 Trending content
🔍 Intelligent search
📱 Fully responsive design
🏷️ Category organization
⏩ Smooth playback controls
⚡ Blazing fast performance
🎯 Curated tutorials
📺 Multiple content types
✨ Smooth animations
🔥 Hot & trending
💾 Watch history tracking
🎯 Intuitive navigation
📊 View analytics
┌─────────────────────────────────────────────────────────────────────────────┐
│ 💻 Programming 📊 Algorithms 📝 Patterns 🔢 Number Systems │
│ 🧮 Math Problems 🔍 Complexity 📚 Data Structures (Arrays, │
│ Linked Lists, Stacks, Queues, Trees, Graphs) │
│ 🎯 Advanced Topics (Sorting, Searching, String & Matrix Algorithms, │
│ Bit Manipulation, Pointers, Recursion, C++) │
└─────────────────────────────────────────────────────────────────────────────┘
Layer
Technologies
Framework
Next.js 16.1.6 • React 19.1.0
Language
TypeScript 5
Styling
Tailwind CSS 3.4 • CSS Modules
UI Components
Radix UI • Lucide Icons
Animation
Framer Motion 12.7.1
State Management
Zustand 5.0.3
Forms & Validation
React Hook Form • Zod 3.24
Database
Neon (PostgreSQL) • Drizzle ORM
APIs
YouTube Data API v3 • TMDB
Deployment
Vercel • Edge Runtime
Vidiony/
├── app/ # Next.js App Router
│ ├── api/ # API Routes
│ ├── (auth)/ # Authentication pages
│ ├── (main)/ # Main content pages
│ ├── movies/ # Movie streaming
│ ├── shorts/ # Short-form videos
│ └── ...
├── components/ # Reusable UI components
│ ├── ui/ # Base components
│ └── ... # Feature components
├── contexts/ # React contexts
├── hooks/ # Custom hooks
├── lib/ # Utilities & helpers
├── public/ # Static assets
│ ├── previews/ # Screenshots
│ └── icons/ # PWA icons
├── styles/ # Global styles
├── types/ # TypeScript definitions
└── scripts/ # Build & utility scripts
Requirement
Version
Node.js
≥ 20.0.0
Bun
≥ 1.0.0 (recommended)
pnpm
≥ 8.0.0 (alternative)
# Clone the repository
git clone https://github.com/preetam-90/Vidiony.git
cd Vidiony
# Install dependencies (Bun - recommended)
bun install
# Or using pnpm
pnpm install
# Or using npm
npm install
Create a .env.local file in the root directory:
# Required
NEXT_PUBLIC_YOUTUBE_API_KEYS = your_api_key_1,your_api_key_2
# Optional - for additional features
TMDB_API_KEY = your_tmdb_api_key
DATABASE_URL = your_neon_database_url
📖 For detailed API setup instructions, see YOUTUBE_API_GUIDE.md
# Start development server (Bun)
bun run dev
# Or with pnpm
pnpm dev
# Open in browser
# http://localhost:3000
# Production build
bun run build
# Start production server
bun run start
# Lint code
bun run lint
Command
Description
bun run dev
Start development server
bun run build
Build for production
bun run start
Start production server
bun run lint
Run ESLint
bun run generate-pwa-assets
Generate PWA icons
# Check API key validity
node check-api-keys.js
# Clean invalid/quota-exceeded keys
node clean-api-keys.js
🔧 Performance Optimizations
⚡ Edge Runtime support
🖼️ Image optimization with Sharp
📦 Granular code splitting
🎨 Font optimization
🌳 Tree shaking
📑 Route prefetching
💾 Static generation where applicable
📊 Vercel Analytics & Speed Insights
This project is private and proprietary. All rights reserved.
Built with ❤️ using Next.js
⭐ Star this repo if you find it useful!