KembaliArsip / superapp-media / youtuberangkuman
superapp-media
youtuberangkuman
252 file · 17.6 MB
Sistem informasi live — youtuberangkuman.vercel.appBuka di tab baru
README
YOUTUBERANGKUMAN
Knowledge vault untuk rangkuman video YouTube berbasis Next.js, dengan workflow yang sekarang langsung bisa jalan dari data lokal repo tanpa harus menunggu Supabase aktif.
Kondisi Saat Ini
- Framework:
Next.js 14 - UI:
React + Tailwind CSS - State & data access: local data utilities + React Query
- Auth: cookie-based login via route handlers + middleware
- Content source utama:
data/rangkuman.tsdandata/content/*.ts - Optional infra: Supabase schema + seed script masih ada untuk kebutuhan berikutnya, tetapi app tidak lagi bergantung padanya untuk render konten
Workflow Tambah Materi
- Tambahkan file konten baru di
data/content/. - Tambahkan metadata entry baru di
data/rangkuman.ts. Untuk batchPredictive History, gunakan helpercreatePredictiveHistoryEntry(...)daridata/collections.ts. - Jalankan:
npm run typecheck
npm run lint
npm run test
npm run build
Kalau empat langkah ini lolos, materi baru aman masuk.
Menjalankan Project
npm install
npm run dev
Default local login:
- Username:
admin - Password:
admin4321
Kalau ingin mengganti:
cp .env.example .env.local
Lalu set:
APP_USERNAME="your-username"
APP_PASSWORD="your-strong-password"
NEXT_PUBLIC_BASE_URL="http://localhost:3000"
Struktur Penting
app/ App Router pages + auth routes
components/ UI dan layout
components/yutubibnu/ Komponen halaman Youtube Ibnu
components/youtube-account/ Komponen halaman Youtube Account
data/collections.ts Registry koleksi + builder Predictive History
data/rangkuman.ts Metadata semua rangkuman
data/youtube-ibnu-videos.ts Master data video Youtube Ibnu
data/youtube-takeout.json Hasil parse Google Takeout
scripts/generate-youtube-ibnu-data.mjs Generator data Youtube Ibnu
scripts/parse-youtube-takeout.mjs Parser Google Takeout YouTube
lib/data.ts Helper list/search/stats dari data lokal
lib/youtube-ibnu.ts Helper filter/stats Youtube Ibnu
lib/youtube-takeout.ts Helper filter/stats Youtube Account
middleware.ts Proteksi auth berbasis cookie
__tests__/ Test suite Vitest
Youtube Ibnu — Master Data Video
Route khusus untuk mengelola semua video di channel Youtube Ibnu:
- URL:
/yutubibnu - Data:
data/youtube-ibnu-videos.ts(hasil scrape langsung dari YouTube Studio — 875 video) - Generator:
node scripts/generate-youtube-ibnu-data.mjs - Akses: dilindungi login global (
middleware.ts); halaman otomatis redirect ke/loginkalau belum auth.
Fitur:
- Stats: total video, durasi, visibility, status.
- Klasifikasi otomatis: 9 kategori konten (
Rapat & Meeting,Pelatihan & BIMTEK,Sosialisasi & Seminar,Rekaman Layar,Proyek & Program,Pendidikan & Kuliah,Marketing & Iklan Digital,Trading & Investasi,Lainnya). - Klasifikasi waktu: tahun (
timeCategory) dan bulan (monthCategory) berdasarkan tanggal upload. - Tag cerdas: zoom, teams, rapat, bimtek, screen-recording, date-stamp, tahun-YYYY, bulan-YYYY-MM, dll.
- Filter & sort: search, visibility, status, kategori, tahun, bulan, urutan.
- Visualisasi: distribusi kategori & bulan.
- Export CSV: unduh hasil filter ke CSV.
- Link cepat: ke YouTube watch dan YouTube Studio per video.
Youtube Account — Data Pribadi dari Google Takeout
Route untuk menampilkan hasil export Google Takeout YouTube kamu:
- URL:
/youtube-account - Data:
data/youtube-takeout.json(hasil parse dari folder Takeout) - Parser:
node scripts/parse-youtube-takeout.mjs [path-ke-folder-takeout] - Akses: dilindungi login global.
Data yang bisa ditampilkan:
- Watch History: semua video yang pernah ditonton beserta waktunya.
- Subscriptions: daftar channel yang di-subscribe.
- Playlists: playlist publik/pribadi beserta isi videonya (termasuk Watch Later & Liked Videos kalau ada di Takeout).
- Uploaded Videos: video yang pernah di-upload beserta metadata (judul, deskripsi, tags, visibility, dll).
Cara pakai:
- Download Google Takeout YouTube kamu dari Google Takeout.
- Extract archive ke
scripts/data/youtube-takeout/. - Jalankan
node scripts/parse-youtube-takeout.mjs. - Buka
/youtube-accountdi browser.
Fondasi Predictive History
- Koleksi khusus tersedia di route
/koleksi/predictive-history - Metadata default otomatis:
channel_name:Predictive Historycollection_slug:predictive-history- tag dasar:
predictive-history - kategori default:
History & Politics
- Panduan ingest ada di
docs/predictive-history-ingest.md
Catatan
Supabasemigration dan client helper masih disimpan sebagai fondasi lanjutan, tetapi bukan dependency runtime utama.resources/booksmasih sample content dan terpisah dari alur rangkuman YouTube utama.
File Utama
- .env.example
- .eslintrc.json
- .gitignore
- CHANGELOG.md
- README.md
- middleware.ts
- next.config.mjs
- next.config.mjs.backup