# Custom WhatsApp Bot Dashboard

Dashboard manajemen multi-device WhatsApp dan monitoring antrean pesan berbasis CodeIgniter 4 yang terintegrasi langsung dengan WhatsApp Gateway Engine (Golang + Whatsmeow).

---

## Fitur Utama

- **Manajemen Perangkat Multi-Session**:
  - Pendaftaran perangkat dengan API Key tersendiri per device.
  - Scan QR Code langsung dari modal popup dengan deteksi otomatis saat terhubung.
  - Monitoring status sesi (`CONNECTED`, `PAIRING`, `DISCONNECTED`, `LOGGED_OUT`).
  - Fitur reconnect & disconnect perangkat.
- **Sistem Antrean & Pengiriman Pesan (Message Queue)**:
  - Form kirim pesan teks dan media (Image, Video, Audio, Dokumen).
  - Monitoring antrean pesan (`QUEUED`, `SENDING`, `SENT`, `FAILED`).
  - Auto-pause saat perangkat offline & auto-resume saat perangkat online kembali.
  - Proteksi anti-banned safe delay.
- **Riwayat Pesan & Pesan Masuk (Inbound & Outbound)**:
  - Rekam jejak seluruh pesan keluar beserta status dan waktu terkirim.
  - Tampilan pesan masuk yang dikelompokkan rapi berdasarkan tanggal dan pengirim.
- **Audit Logs & Monitoring**:
  - Rekam aktivitas sistem & event log koneksi engine.
  - Ringkasan statistik di dashboard utama.

---

## Kebutuhan Sistem

- PHP 8.1 atau lebih baru (ekstensi: `intl`, `mbstring`, `json`, `mysqlnd`, `curl`).
- Web Server (Apache/Nginx/PHP Built-in Server).
- Database MariaDB / MySQL.
- [custom-whatsapp-bot](https://github.com/cahyopurnomo/custom-whatsapp-bot) (Engine backend Go berjalan di port 8080).

---

## Panduan Instalasi

1. **Clone repositori**:
   ```bash
   git clone https://github.com/cahyopurnomo/custom-whatsapp-bot-dashboard.git
   cd custom-whatsapp-bot-dashboard
   ```

2. **Install dependensi Composer**:
   ```bash
   composer install
   ```

3. **Konfigurasi Environment**:
   Salin file `env` menjadi `.env` dan sesuaikan koneksi database serta engine URL:
   ```bash
   cp env .env
   ```
   Sesuaikan pengaturan di `.env`:
   ```ini
   app.baseURL = 'http://localhost:8087/'
   
   database.default.hostname = 127.0.0.1
   database.default.database = custom_whatsapp_bot
   database.default.username = root
   database.default.password = toor
   database.default.port     = 3306
   ```

4. **Jalankan Web Server**:
   ```bash
   php spark serve --port=8087
   ```
   Akses dashboard melalui browser di: `http://localhost:8087`.

---

## Lisensi

[MIT License](LICENSE) © 2026 Cahyo Purnomo
