asd
This commit is contained in:
commit
3e4a056b14
67 files changed
+13926
No files matched your search
@@ -0,0 +1,47 @@
|
||||
# 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
|
||||
|
||||
1. Atur koneksi di `config.php` (default `127.0.0.1:3309`, user `root`, database `calcserubi`). Di server, nilai ini bisa diganti lewat environment variable `SERUBI_DB_HOST/PORT/NAME/USER/PASS`.
|
||||
2. Buka aplikasinya. Database, tabel, dan parameter awal dari file Excel dibuat otomatis. Bisa juga lewat CLI: `php database/migrate.php`.
|
||||
3. Buka `/admin/` dan buat akun admin pertama.
|
||||
|
||||
Perintah lain:
|
||||
|
||||
- `php database/migrate.php --reseed` mengembalikan semua parameter ke nilai Excel.
|
||||
- `php database/migrate.php --dump-params` menampilkan 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'` di `config.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](docs/VALIDASI.md).
|
||||
|
||||
## Keamanan
|
||||
|
||||
Detail lengkap dan checklist server ada di [docs/SECURITY.md](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`.
|
||||
Reference in new issue
Block a user