@extends('layouts.app') @section('title', 'Dokumentasi Auto Isolir System') @section('content')

Dokumentasi Auto Isolir System

Panduan lengkap instalasi, konfigurasi, dan penggunaan sistem

Auto Isolir System Overview
Apa itu Auto Isolir System?

Auto Isolir System adalah solusi enterprise-level untuk manajemen isolir otomatis pelanggan ISP yang menunggak pembayaran. Sistem ini menggunakan teknologi modern untuk memberikan kontrol penuh dan monitoring real-time.

Teknologi yang Digunakan:
  • Laravel 10 - Backend framework
  • Bootstrap 5 - Frontend UI
  • Database Queue - Background processing
  • WhatsApp Gateway - Notifikasi otomatis
  • Mikrotik API - Network isolation
  • Real-time Dashboard - Monitoring & control
Alur Kerja Sistem:
Cronjob (6 jam)Cek OverdueQueue JobWhatsApp + MikrotikUpdate DBDashboard
System Statistics

99%

Uptime

24/7

Monitoring
Real-time Dashboard
  • Statistics cards (Total overdue, Pending, Processed)
  • System status monitoring (Running/Idle)
  • Auto-refresh setiap 30 detik
  • Recent executions history
  • Queue size monitoring
Control Panel
  • Manual Trigger - Jalankan isolir manual
  • Stop Process - Hentikan proses berjalan
  • Bulk Un-Isolate - Un-isolate multiple
  • Export Report - Download laporan
Settings Management
  • Max daily executions (1-10x per hari)
  • WhatsApp enable/disable toggle
  • Mikrotik enable/disable toggle
  • Rate limiting (1-60 detik delay)
Data Management
  • Overdue customers table dengan detail
  • Checkbox selection untuk bulk operations
  • Single customer actions
  • Search & filter capabilities
Panduan Instalasi

# PHP 8.1+
php -v

# Composer
composer --version

# Laravel 10
php artisan --version

# Database (MySQL/PostgreSQL)
# Redis (optional, bisa pakai database queue)

# Install Laravel packages
composer require spatie/laravel-permission
composer require predis/predis

# Publish migrations
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"

# Run migrations
php artisan migrate

# Create queue table
php artisan queue:table
php artisan migrate

# Seed permissions (optional)
php artisan db:seed --class=PermissionSeeder

# .env file
QUEUE_CONNECTION=database
CACHE_DRIVER=file

# WhatsApp Gateway
WHATSAPP_GATEWAY_URL=your_gateway_url
WHATSAPP_GATEWAY_TOKEN=your_token

# Mikrotik API
MIKROTIK_HOST=192.168.1.1
MIKROTIK_USERNAME=admin
MIKROTIK_PASSWORD=password
Monitoring Harian
  1. Buka http://localhost:8000/auto-isolir
  2. Cek statistics cards (overdue, pending, processed)
  3. Monitor system status (Running/Idle)
  4. Review recent executions
  5. Pastikan queue size tidak menumpuk
Manual Execution
  1. Klik tombol "Jalankan Manual Isolir"
  2. Konfirmasi dialog → Sistem validasi otomatis
  3. Proses berjalan background → Monitor progress
  4. Notifikasi sukses → Refresh untuk update
  5. Cek recent executions untuk hasil
Bulk Operations
  1. Pilih pelanggan di tabel overdue (checkbox)
  2. Klik "Bulk Un-Isolate"
  3. Review selection di modal
  4. Konfirmasi → Proses un-isolate multiple
  5. Auto-reload untuk update status
Settings Management
  1. Klik tombol "Settings"
  2. Atur Max Daily Executions (1-10)
  3. Toggle WhatsApp/Mikrotik enable/disable
  4. Set Rate Limiting (1-60 seconds)
  5. Save → Sistem update otomatis
Troubleshooting Guide

Langkah Pengecekan:
  1. Cek System Status → Harus "Idle" untuk trigger manual
  2. Cek Daily Executions → Maksimal 4x per hari
  3. Cek Queue Size → Jika >0, tunggu proses selesai
  4. Klik "Stop Process" jika stuck → Coba trigger ulang
Emergency Reset:
php artisan queue:restart
php artisan cache:clear

Solusi:
# Cek konfigurasi queue
QUEUE_CONNECTION=database

# Cek tabel jobs
php artisan queue:table
php artisan migrate

# Test manual queue
php artisan queue:work database --stop-when-empty

Pengecekan:
  • Cek konfigurasi gateway di .env
  • Pastikan toggle WhatsApp enabled di settings
  • Test koneksi gateway manual
  • Cek log untuk error message

Pengecekan:
  • Cek koneksi API Mikrotik
  • Pastikan toggle Mikrotik enabled di settings
  • Verify username/password API
  • Test ping ke Mikrotik router
@endsection @push('scripts') @endpush