Skip to content

IfanID/rout-old

Repository files navigation

ROut - Abyss Streaming Service

ROut adalah platform streaming modern yang dirancang untuk memberikan pengalaman menonton yang bersih, cepat, dan personal. Proyek ini dibangun dengan Nuxt 4 dan terintegrasi dengan berbagai layanan eksternal untuk menyajikan konten secara efisien.

🚀 Fitur Utama

  • Streaming Dashboard: Antarmuka modern yang dioptimalkan untuk navigasi cepat.
  • Integrasi Wikipedia: Menampilkan informasi pemain (cast) dan data variety show secara real-time.
  • Pencarian Episode: Sistem pencarian pintar untuk menemukan episode berdasarkan nomor atau kategori.
  • Firebase Authentication: Login aman menggunakan Google Auth.
  • Responsive Design: UI yang dioptimalkan untuk perangkat mobile dengan konsep "Center Menu Island".
  • Abyss.to Integration: Integrasi backend yang kuat untuk pengelolaan resource video dan subtitle.

🛠️ Teknologi yang Digunakan

  • Framework: Nuxt 4 & Vue 3
  • State Management: Vue Composition API (Composables)
  • Backend Service: Firebase (Auth, Admin, Functions)
  • Styling: Vanilla CSS dengan sistem variabel desain modern
  • External API: Abyss.to API & Wikipedia API (via scraping with Cheerio)
  • Icons: @nuxt/icon (Material Symbols)

📁 Struktur Proyek

├── app/                  # Frontend logic & UI components
│   ├── assets/           # Global styles & CSS modules
│   ├── components/       # Reusable UI components
│   └── pages/            # Nuxt pages (Restructured under /users)
├── server/               # API routes & server-side utilities
│   ├── api/              # Endpoint API (Episodes, Folders, Wiki)
│   └── utils/            # Server-side helper functions
├── composables/          # Shared client-side logic (Auth, etc.)
└── public/               # Static assets (Favicon, robots.txt)

⚙️ Persiapan (Setup)

Pastikan kamu memiliki Node.js versi terbaru.

  1. Instalasi Dependensi:

    npm install
    
  2. Konfigurasi Environment: Buat file .env di root direktori dan tambahkan kredensial Firebase:

    # Firebase Public Config (Penting, jangan dihapus)
    FIREBASE_API_KEY=Web_API_Key_dari_Project_Settings
    FIREBASE_AUTH_DOMAIN=your-project-id.firebaseapp.com
    FIREBASE_DATABASE_URL=https://your-project-id.firebaseio.com
    FIREBASE_PROJECT_ID=ID_Project_Firebase_Anda
    FIREBASE_STORAGE_BUCKET=your-project-id.appspot.com
    FIREBASE_MESSAGING_SENDER_ID=Sender_ID_9_Digit
    FIREBASE_APP_ID=1:Mojo_App_ID_Anda
    FIREBASE_MEASUREMENT_ID=G-Measurement_ID
    # Abyss API (Penting, jangan dihapus)
    ABYSS_API_KEY=API_Key_dari_Dashboard_Abyss
    
  3. Mode Pengembangan: Jalankan server lokal di http://localhost:3000:

    npm run dev
    

📦 Produksi

Membangun aplikasi untuk produksi:

# Build
npm run build

# Preview hasil build
npm run preview

🧪 Kualitas Kode (Linting)

Proyek ini menggunakan ESLint untuk menjaga konsistensi gaya penulisan kode. Kamu bisa menjalankannya dengan:

# Cek kesalahan (check)
npx eslint .

# Perbaiki otomatis (fix)
npx eslint . --fix

⚠️ Catatan Penting

  • Node.js: Gunakan Node.js versi 20.x atau yang lebih baru untuk performa terbaik.
  • API Key: Pastikan ABYSS_API_KEY yang kamu gunakan memiliki akses yang cukup untuk membaca resource folder dan file.
  • Firebase: Pastikan kamu sudah mengaktifkan Google Auth di console Firebase agar fitur login tidak error.

Dibuat dengan ❤️ untuk pengalaman streaming yang lebih baik.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors