Aplikasi web berarsitektur microservices-lite yang dirancang untuk mengotomatisasi ekstraksi/pengambilan data dari YouTube Shorts. Proyek ini memisahkan antara tampilan, pengolahan data, dan eksekusi scraping menggunakan arsitektur berbasis API.
Sistem ini terbagi menjadi tiga komponen utama:
- Frontend: Vanilla HTML/JS dengan Tailwind CSS (Menangani UI, API polling, dan autentikasi berbasis token).
- Backend: Laravel / PHP (Menyediakan REST API, autentikasi, manajemen database MySQL, dan job queuing).
- Layanan Python: Background worker menggunakan Playwright/Selenium untuk mengeksekusi proses scroll otomatis dan pengumpulan data (parsing DOM).
Pastikan perangkat lunak berikut sudah terinstal di komputer Anda:
a. Buka terminal, masuk ke direktori backend, dan jalankan perintah berikut:
cd backend
composer install
cp .env.example .envb. Buka file .env dan atur konfigurasi database Anda (DB_DATABASE, DB_USERNAME, DB_PASSWORD). c. Generate key aplikasi dan jalankan migrasi database:
php artisan key:generate
php artisan migrated. Jalankan server lokal Laravel:
php artisan servea. Buka jendela terminal baru, masuk ke direktori service Python, dan instal dependencies:
cd python-service
pip install -r requirements.txt(Catatan: Jika menggunakan Playwright, jalankan playwright install terlebih dahulu). b. Jalankan worker otomatisasi:
python main.pya. Buka folder frontend menggunakan VS Code. b. Klik kanan pada file index.html dan pilih "Open with Live Server". c. Antarmuka web akan otomatis terbuka di browser Anda pada http://127.0.0.1:8000/index.html atau http://127.0.0.1:5500/frontend/index.html (sesuaikan dengan port Live Server Anda).
- Buka halaman Frontend melalui Live Server yang sudah berjalan.
- Klik tombol "Login / Register dengan Google" (Dummy) untuk melewati proses autentikasi dengan cepat.
- Masukkan durasi scroll yang Anda inginkan (dalam satuan detik) ke dalam form yang tersedia.
- Klik "Mulai Scroll". Sistem akan mengirim tugas tersebut ke dalam antrean (queue).
- Pantau terminal Python; Anda akan melihat worker mengeksekusi tugas ekstraksi data di latar belakang.
- Tabel riwayat pada Frontend akan melakukan auto-update (polling setiap 3 detik) untuk menampilkan judul-judul YouTube Shorts yang berhasil dikumpulkan.