Skip to content

Repository files navigation

🎬 CeplinFlix — Cinema Tanpa Batas

PHP Version License Framework API

CeplinFlix adalah platform web streaming film dan serial TV modern yang dibangun menggunakan vanilla PHP dan Tailwind CSS. Aplikasi ini mengintegrasikan API pihak ketiga dari The Movie Database (TMDB) untuk metadata film dan berbagai server embed terkemuka untuk pemutar video (video player).


✨ Fitur Utama

  • 🏠 Beranda Dinamis: Menampilkan film trending hari ini dalam bentuk Hero Slider, baris konten berdasarkan genre terpopuler (Action, Horror, Sci-fi, Comedy, Drama).
  • 🎲 Mood Roulette: Fitur interaktif untuk memecahkan decision fatigue (bingung mau nonton apa) dengan mengocok roda keberuntungan sesuai suasana hati (adrenalin, mikir keras, nangis, tertawa, ketakutan).
  • 🔍 Filter & Pencarian Lanjutan: Cari film berdasarkan kata kunci atau filter detail menggunakan tipe konten (film/serial), genre, negara asal, tahun rilis, dan diurutkan berdasarkan popularitas, rating, atau box office.
  • 🔖 Koleksi Saya (Watchlist): Simpan film atau TV series favorit Anda ke dalam daftar tontonan pribadi secara lokal menggunakan fitur localStorage (tanpa perlu database).
  • 📅 Jadwal Tayang (Coming Soon): Dapatkan daftar film dan serial TV yang akan segera tayang mulai hari ini dengan info hitung mundur (countdown).
  • Sistem Cache Lokal: Dilengkapi dengan file-based caching dinamis untuk menyimpan respon JSON API TMDB demi performa super cepat dan hemat kuota API.
  • 🛡️ Proteksi Keamanan: Perlindungan .htaccess bawaan untuk menonaktifkan directory listing dan mencegah akses publik langsung ke folder cache.

🛠️ Tech Stack

  • Core Backend: PHP (7.4 / 8.x)
  • Frontend Styling: Tailwind CSS (CDN), Syne & Plus Jakarta Sans Google Fonts
  • Icons: Font Awesome 6.5.0
  • Animations: GSAP (GreenSock Animation Platform) & AOS (Animate on Scroll)
  • Database / Storage: Client-side localStorage (untuk Watchlist), File-based caching (untuk API cache)
  • API Integration: TMDB API v3 & Video Embed Servers (2Embed, VidLink, VidSrc, SmashyStream, VixSrc)

📂 Struktur Project

streaming-web/
├── assets/
│   ├── css/
│   │   └── style.css
│   └── js/
│       └── main.js
├── cache/                  # Folder penyimpanan file cache API (.json)
│   └── .htaccess           # Proteksi folder cache dari publik
├── config/
│   └── api_config.php      # Konfigurasi TMDB API & .env loader
├── includes/
│   ├── header.php          # Navbar global & logic helper API
│   └── footer.php          # Footer global
├── .env                    # Variabel lingkungan rahasia (TMDB Token)
├── .gitignore              # Konfigurasi file yang diabaikan oleh Git
├── .htaccess               # Konfigurasi Apache (Security Headers)
├── index.php               # Halaman utama (Beranda & Mood Roulette)
├── detail-match.php        # Halaman detail film & video player
├── search.php              # Halaman pencarian & filter
├── watchlist.php           # Halaman koleksi tontonan disimpan
├── coming-soon.php         # Halaman jadwal tayang film mendatang
├── responsive.php          # Stylesheet CSS dinamis untuk responsivitas mobile
└── README.md

⚙️ Instalasi & Setup Lokal

Ikuti langkah-langkah berikut untuk menjalankan CeplinFlix di komputer lokal Anda (menggunakan Laragon, XAMPP, atau PHP Built-in Server).

1. Clone Repositori

git clone https://github.com/username/streaming-web.git
cd streaming-web

2. Dapatkan API Read Access Token TMDB

  1. Buat akun di The Movie Database (TMDB).
  2. Masuk ke menu Settings > API.
  3. Daftarkan aplikasi Anda untuk mendapatkan API Read Access Token (Token JWT yang panjang).

3. Konfigurasi Variabel Lingkungan (.env)

Buat berkas bernama .env di root folder project Anda dan masukkan token Anda:

TMDB_TOKEN=masukkan_token_jwt_tmdb_anda_di_sini

4. Jalankan Server Lokal

  • Menggunakan Laragon / XAMPP: Pindahkan folder project ke direktori www atau htdocs, lalu jalankan Apache.
  • Menggunakan PHP Built-in Server: Jalankan perintah berikut di terminal root project:
    php -S localhost:8000
    Buka browser Anda dan akses http://localhost:8000.

🔒 Catatan Keamanan Produksi (Deployment)

Apache Server (cPanel / Standard Hosting)

Aplikasi ini sudah dilengkapi dengan file .htaccess di root dan folder /cache yang memblokir directory listing dan akses file mentah. Pastikan modul mod_headers di Apache Anda aktif untuk menjalankan header keamanan standar.

Nginx Server (VPS / Cloud Hosting)

Jika Anda men-deploy ke server berbasis Nginx, file .htaccess tidak akan berfungsi secara otomatis. Anda wajib menambahkan konfigurasi berikut di file konfigurasi server block Nginx Anda untuk memblokir akses publik ke folder cache:

# Blokir akses publik ke file cache
location /cache {
    deny all;
    return 404;
}

# Blokir akses ke file konfigurasi rahasia
location ~ /\.(env|git|htaccess) {
    deny all;
    return 404;
}

📄 Lisensi

Project ini dilisensikan di bawah lisensi MIT - lihat file LICENSE untuk detail lebih lanjut.


👨‍💻 Kontribusi

Kontribusi selalu terbuka! Jika Anda ingin meningkatkan tampilan UI, menambah server pemutar baru, atau mengoptimalkan kode, silakan kirim Pull Request Anda.

  1. Fork repositori ini
  2. Buat branch fitur baru (git checkout -b fitur/fiturBaru)
  3. Commit perubahan Anda (git commit -m 'Menambahkan fitur baru')
  4. Push ke branch (git push origin fitur/fiturBaru)
  5. Buat Pull Request baru

About

CeplinFlix — Cinema Tanpa Batas

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages