Arsitektur EngineCP dirancang modular dan terintegrasi, memungkinkan setiap komponen bekerja secara independen namun tetap saling terhubung melalui API.
Sistem ini memisahkan antara frontend (APK & Admin), backend (API), serta gateway eksternal untuk memastikan performa, keamanan, dan skalabilitas.
🏗️ Gambaran Arsitektur
Secara umum, EngineCP terdiri dari beberapa lapisan utama:
- Client Layer → Aplikasi Mobile (Flutter) & Web Admin
- Application Layer → Backend API (CodeIgniter 4)
- Integration Layer → Gateway Bank, H2H Supplier, WA Gateway
- Data Layer → Database MariaDB
🔄 Alur Sistem (Flow)
- User melakukan transaksi melalui APK (Flutter)
- Request dikirim ke Backend API (CI4)
- Backend memproses validasi (saldo, user, produk)
- Jika valid, sistem meneruskan ke Supplier H2H / Gateway
- Supplier mengembalikan status (sukses / pending / gagal)
- Backend menyimpan transaksi ke database
- User menerima hasil transaksi di APK
🧩 Komponen Utama
1. Web Admin (CodeIgniter 4)
- Dashboard monitoring transaksi
- Manajemen user (member, reseller, H2H)
- Pengaturan produk, harga, dan margin
- Manajemen supplier dan voucher
- Log dan laporan sistem
2. Mobile App (Flutter)
- Interface pengguna (UI/UX)
- Transaksi produk PPOB
- Cek saldo dan mutasi
- Notifikasi transaksi
3. Backend API (Core Engine)
- Autentikasi dan validasi user
- Proses transaksi
- Manajemen saldo
- Integrasi ke gateway eksternal
- Logging dan keamanan
4. Gateway & Integrasi
- Bank Gateway (cek mutasi, callback pembayaran)
- Payment Gateway (QRIS, VA, E-Wallet)
- H2H Supplier (pengiriman transaksi produk)
- WA Gateway (OTP & notifikasi)
5. Database (MariaDB)
- Menyimpan data user, transaksi, saldo
- Menyimpan log dan histori sistem
- Mendukung relasi kompleks (produk, voucher, operator)
🔐 Keamanan Sistem
- Validasi token dan autentikasi API
- Proteksi transaksi ganda (double transaction)
- Signature & whitelist IP untuk H2H
- Logging aktivitas sistem
⚡ Skalabilitas
EngineCP dirancang untuk dapat dikembangkan sesuai kebutuhan:
- Menambah supplier tanpa mengganggu sistem utama
- Mendukung banyak user dan transaksi secara bersamaan
- Dapat dipisah menjadi multi server (API, DB, Gateway)
📡 Integrasi API
- REST API untuk komunikasi antar sistem
- Support JSON request & response
- Dapat digunakan oleh aplikasi pihak ketiga
📌 Ringkasan
Arsitektur EngineCP dirancang dengan pendekatan modular, sehingga setiap bagian sistem dapat dikembangkan, diperbaiki, dan di-scale tanpa mengganggu keseluruhan sistem.
👉 Lanjut ke tahap berikutnya:
Prasyarat Sistem & Instalasi EngineCP