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).
- 🏠 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
.htaccessbawaan untuk menonaktifkan directory listing dan mencegah akses publik langsung ke folder cache.
- 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)
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
Ikuti langkah-langkah berikut untuk menjalankan CeplinFlix di komputer lokal Anda (menggunakan Laragon, XAMPP, atau PHP Built-in Server).
git clone https://github.com/username/streaming-web.git
cd streaming-web- Buat akun di The Movie Database (TMDB).
- Masuk ke menu Settings > API.
- Daftarkan aplikasi Anda untuk mendapatkan API Read Access Token (Token JWT yang panjang).
Buat berkas bernama .env di root folder project Anda dan masukkan token Anda:
TMDB_TOKEN=masukkan_token_jwt_tmdb_anda_di_sini- Menggunakan Laragon / XAMPP: Pindahkan folder project ke direktori
wwwatauhtdocs, lalu jalankan Apache. - Menggunakan PHP Built-in Server:
Jalankan perintah berikut di terminal root project:
Buka browser Anda dan akses
php -S localhost:8000
http://localhost:8000.
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.
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;
}Project ini dilisensikan di bawah lisensi MIT - lihat file LICENSE untuk detail lebih lanjut.
Kontribusi selalu terbuka! Jika Anda ingin meningkatkan tampilan UI, menambah server pemutar baru, atau mengoptimalkan kode, silakan kirim Pull Request Anda.
- Fork repositori ini
- Buat branch fitur baru (
git checkout -b fitur/fiturBaru) - Commit perubahan Anda (
git commit -m 'Menambahkan fitur baru') - Push ke branch (
git push origin fitur/fiturBaru) - Buat Pull Request baru