================================================================
  EZPASS CLONE - PANDUAN DEPLOY DI CPANEL
================================================================


----------------------------------------------------------------
  STRUKTUR FOLDER PROJECT
----------------------------------------------------------------

  clone/
  |-- app/                  <- Controllers & Views
  |-- config/               <- Konfigurasi
  |-- core/                 <- Framework inti (jangan diubah)
  |-- public/               <- Root publik (index.php, css, js, images)
  |-- stats/                <- File log (billing, click, blocked, dll)
  |-- uploads/              <- Upload sementara (auto-hapus setelah email)
  |-- readme.txt            <- File ini


================================================================
  CARA DEPLOY DI CPANEL
================================================================


LANGKAH 1 - BUKA FILE MANAGER CPANEL
--------------------------------------
  1. Login ke cPanel hosting Anda
  2. Klik "File Manager"
  3. Perhatikan lokasi folder public_html
     (ini adalah root domain/subdomain Anda)


LANGKAH 2 - TENTUKAN LOKASI UPLOAD
--------------------------------------
  Ada 2 pilihan:

  [A] Pakai Root Domain (misal: domain.com)
      - Isi public_html/ dengan ISI folder public/
      - Folder app/, config/, core/, stats/, uploads/
        ditaruh SATU LEVEL DI ATAS public_html/
        (biasanya di home directory: /home/username/)

      Struktur di server:
        /home/username/
        |-- app/
        |-- config/
        |-- core/
        |-- stats/
        |-- uploads/
        |-- public_html/       <- isi dari folder public/
            |-- index.php
            |-- .htaccess
            |-- css/
            |-- js/
            |-- images/
            |-- router.php

  [B] Pakai Subdomain/Subfolder (misal: sub.domain.com)
      - Buat subdomain dulu di cPanel > Subdomains
      - Arahkan document root subdomain ke folder tertentu
        misal: /home/username/ezpass/public/
      - Upload semua folder project ke /home/username/ezpass/

      Struktur di server:
        /home/username/ezpass/
        |-- app/
        |-- config/
        |-- core/
        |-- stats/
        |-- uploads/
        |-- public/            <- document root subdomain
            |-- index.php
            |-- .htaccess
            |-- css/
            |-- js/
            |-- images/
            |-- router.php

  REKOMENDASI: Pilih [B] (subdomain) agar lebih aman karena
  folder sensitif (config/, stats/) tidak berada di public_html.


LANGKAH 3 - UPLOAD FILE
--------------------------------------
  Cara 1 - Upload via File Manager:
    1. Zip seluruh folder project menjadi satu file (misal: ezpass.zip)
    2. Upload ke server via File Manager > Upload
    3. Extract di server
    4. Atur posisi folder sesuai pilihan A atau B di atas

  Cara 2 - Upload via FTP (FileZilla):
    1. Buka FileZilla
    2. Isi Host, Username, Password dari cPanel > FTP Accounts
    3. Drag-and-drop folder project ke lokasi yang ditentukan


LANGKAH 4 - PASTIKAN MOD_REWRITE AKTIF
--------------------------------------
  File .htaccess di folder public/ memerlukan mod_rewrite.
  Hosting cPanel biasanya sudah aktif secara default.

  Jika halaman tidak bisa dibuka (404 semua route):
    - Hubungi support hosting untuk aktifkan mod_rewrite
    - Atau pastikan AllowOverride All aktif di server


LANGKAH 5 - PERMISSION FOLDER
--------------------------------------
  Set permission folder berikut agar bisa ditulis:

    stats/          -> 755 atau 775
    stats/ratelimit -> 755 atau 775
    uploads/        -> 755 atau 775
    config/         -> 755 (baca saja cukup, panel akan menulis)

  Cara set permission di File Manager:
    Klik kanan folder > Change Permissions > isi angka permission


LANGKAH 6 - AKSES PERTAMA KALI
--------------------------------------
  Buka browser, akses domain Anda:

    https://domain.com/?kocak=pepek   <- halaman utama
    https://domain.com/billing         <- form billing
    https://domain.com/panel           <- panel admin

  Login panel default:
    Username : admin
    Password : admin123

  SEGERA ganti password setelah login pertama!
  Panel > Settings > Ubah Kredensial Admin


================================================================
  KONFIGURASI SETELAH DEPLOY
================================================================


WAJIB DILAKUKAN SETELAH DEPLOY:
----------------------------------

  1. LOGIN PANEL DAN GANTI PASSWORD
     https://domain.com/panel
     Username: admin | Password: admin123

  2. ATUR URL PARAMETER (GATE)
     Panel > Settings > URL Parameter & Redirect
     - Ganti nama parameter (jangan pakai "kocak")
     - Ganti nilai parameter (jangan pakai "pepek")
     - Atur redirect URL jika tanpa parameter

  3. SETUP EMAIL NOTIFIKASI (SMTP)
     Panel > Settings > Email SMTP Settings
     - SMTP Host  : smtp.gmail.com
     - Port       : 587
     - Encryption : TLS
     - Username   : email Gmail Anda
     - Password   : App Password Gmail (bukan password biasa)
     - Email Tujuan: email penerima notifikasi
     - Aktifkan   : Ya

     Cara buat App Password Gmail:
       myaccount.google.com > Security > App passwords
       (perlu 2FA aktif dulu)

  4. ATUR TAMPILAN FORM
     Panel > Settings > Tampilan Form Billing
     - SSN       : tampilkan / sembunyikan
     - Plate     : tampilkan / sembunyikan
     - Driver License + Upload: tampilkan / sembunyikan

  5. ATUR JUMLAH TAGIHAN
     Panel > Settings > Jumlah Tagihan
     - Isi nominal yang ditampilkan di halaman home


================================================================
  JALANKAN DI LOCAL (DEVELOPMENT)
================================================================

  Syarat: PHP 8.0+ terinstall

  cd /path/ke/folder/public
  php -S localhost:8000 router.php

  Buka browser: http://localhost:8000/?kocak=pepek


================================================================
  CATATAN PENTING
================================================================

  - File config/panel.php akan dibuat otomatis saat menyimpan
    settings pertama kali via panel admin

  - Folder stats/ menyimpan semua log (billing, click, blocked)
    Pastikan folder ini TIDAK bisa diakses dari browser
    (.htaccess sudah diatur otomatis di uploads/)
    Tambahkan juga .htaccess di stats/ jika perlu:

      Options -Indexes
      Deny from all

  - File upload (foto DL) disimpan sementara di uploads/
    dan LANGSUNG DIHAPUS setelah email terkirim

  - Bot blocker aktif otomatis, log tersimpan di
    stats/log_blocked.txt

  - Jangan hapus file .htaccess di folder public/
    dan uploads/ karena berfungsi untuk keamanan


================================================================
  TROUBLESHOOTING
================================================================

  MASALAH: Semua halaman menampilkan 404
  SOLUSI : mod_rewrite belum aktif, hubungi hosting

  MASALAH: Form submit tidak redirect (500 error)
  SOLUSI : Cek permission folder stats/ dan uploads/
           Pastikan PHP 8.0+

  MASALAH: Email tidak terkirim
  SOLUSI : Pastikan App Password Gmail benar (bukan password biasa)
           Test via panel: Settings > Test Kirim Email

  MASALAH: Halaman home langsung redirect
  SOLUSI : Gate aktif, akses dengan parameter yang benar
           Atau nonaktifkan gate di panel > Settings

  MASALAH: Upload foto DL gagal
  SOLUSI : Cek permission folder uploads/ (harus 755/775)
           Cek php.ini: upload_max_filesize dan post_max_size
           harus >= 5MB


================================================================
  KONTAK & SUPPORT
================================================================

  Jika ada pertanyaan atau masalah, silakan hubungi
  pengembang project ini.

================================================================
