2.6 KiB
Kalkulator Cashback SERUBI — Bank Papua
Simulasi Tabungan/Giro + cashback SERUBI dibandingkan deposito, dengan halaman admin untuk mengubah parameter. PHP native + MySQL.
- Kalkulator:
http://localhost/calcserubi/ - Admin:
http://localhost/calcserubi/admin/(saat pertama dibuka, Anda diminta membuat akun admin)
Instalasi
- Atur koneksi di
config.php(default127.0.0.1:3309, userroot, databasecalcserubi). Di server, nilai ini bisa diganti lewat environment variableSERUBI_DB_HOST/PORT/NAME/USER/PASS. - Buka aplikasinya. Database, tabel, dan parameter awal dari file Excel dibuat otomatis. Bisa juga lewat CLI:
php database/migrate.php. - Buka
/admin/dan buat akun admin pertama.
Perintah lain:
php database/migrate.php --reseedmengembalikan semua parameter ke nilai Excel.php database/migrate.php --dump-paramsmenampilkan parameter aktif dalam format JSON.
Versi JS/CSS (update langsung terlihat di klien)
Semua file JS/CSS dimuat dengan ?v=<versi>-<waktu ubah file> (lihat asset() di includes/helpers.php):
- Setiap file yang diunggah ulang ke server otomatis mendapat URL baru, sehingga browser langsung memuat versi terbaru.
- Halaman PHP dikirim dengan
Cache-Control: no-cache, jadi selalu merujuk versi asset terbaru. - Asset boleh di-cache lama (
.htaccess) karena URL-nya selalu berubah saat ada update. - Untuk menandai rilis, naikkan
'version'diconfig.php. Versi juga tampil di<meta name="app-version">.
Struktur
| Path | Isi |
|---|---|
assets/js/engine.js |
Rumus perhitungan (port dari sheet COB), dipakai kalkulator, preview admin, dan test |
index.php, assets/js/app.js |
Halaman kalkulator |
admin/ |
Login, parameter bank, rate produk, rate deposito, porsi cashback, pengguna, riwayat |
includes/ |
Koneksi DB, pemuatan parameter, auth, aksi admin |
database/ |
schema.sql, defaults.php (nilai Excel), migrate.php |
tests/ |
Validasi terhadap Excel, lihat docs/VALIDASI.md |
Validasi
node tests/validate.js membandingkan engine (dengan parameter dari MySQL) terhadap 155 skenario yang dihitung oleh Excel. Hasil saat ini: 4.805/4.805 cocok. Detail ada di docs/VALIDASI.md.
Keamanan
Detail lengkap dan checklist server ada di docs/SECURITY.md. Wajib dikerjakan setelah deploy: HTTPS + SERUBI_FORCE_HTTPS=1, ServerTokens Prod dan TraceEnable Off di httpd.conf, user MySQL khusus (php database/migrate.php --create-db-user), dan PHP yang masih didukung.
Membuat admin pertama di server baru: php database/migrate.php --create-admin.