Laravel + Vue.js dashboard that scans a YouTube channel once, stores video metadata in SQLite, and lets you browse/sort videos by length. Great for choosing yoga sessions that last exactly 6min :-)
Master branch is written in Laravel + MySQL.
There's also node branch, which uses Node.js and SQLite.
- Input a URL like
https://www.youtube.com/@YogaWithBird/videos - Scan all channel videos through YouTube Data API v3 (paginated)
- Store title, duration, publish date & views
- Highlights videos by keywords (
morning/evening/stress) - Persist
isFavoriteandclickCount - Show previously scanned channels immediately on dashboard load
- Click a channel to view its videos
- Backend: Laravel + MySQL
- Frontend: Vue 3 + Vite
- PHP8+
- A YouTube Data API key
- Install dependencies:
composer installnpm installnpm run build
- Configure env:
cp .env.example .env- set
YOUTUBE_API_KEYin.env