250 lines
11 KiB
PHP
250 lines
11 KiB
PHP
@extends('layouts.admin')
|
|
|
|
@section('title', 'Dashboard Admin')
|
|
|
|
@section('content')
|
|
<div class="container-fluid p-0">
|
|
|
|
<!-- Hero Banner Modern dengan Animasi Halus -->
|
|
<div class="admin-hero-banner mb-4 d-flex justify-content-between align-items-center">
|
|
<div>
|
|
<span class="badge bg-white text-primary fw-semibold px-3 py-2 rounded-pill mb-2 shadow-sm">
|
|
<i class="fas fa-user-shield me-1"></i> Panel Guru
|
|
</span>
|
|
<h2 class="fw-bold mb-1">Selamat Datang, Bapak/Ibu Guru! 👋</h2>
|
|
<p class="mb-0 opacity-90">Pantau performa sistem rekomendasi dan statistik minat jurusan siswa secara real-time.</p>
|
|
</div>
|
|
<div class="d-none d-lg-block opacity-75 me-3">
|
|
<i class="fas fa-chart-pie fa-5x"></i>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Stats Cards -->
|
|
<div class="row g-3 mb-4">
|
|
<!-- Total Data Training -->
|
|
<div class="col-md-4">
|
|
<div class="card card-stat shadow-sm p-3">
|
|
<div class="d-flex align-items-center justify-content-between">
|
|
<div>
|
|
<span class="text-muted small fw-semibold text-uppercase">Dataset Training</span>
|
|
<h2 class="fw-bold text-dark mt-1 mb-0">{{ $totalTraining }}</h2>
|
|
<span class="badge bg-primary-subtle text-primary mt-2 rounded-pill">
|
|
<i class="fas fa-check-circle me-1"></i>Siap Digunakan
|
|
</span>
|
|
</div>
|
|
<div class="icon-box bg-primary-subtle text-primary">
|
|
<i class="fas fa-database"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Total Siswa -->
|
|
<div class="col-md-4">
|
|
<div class="card card-stat shadow-sm p-3">
|
|
<div class="d-flex align-items-center justify-content-between">
|
|
<div>
|
|
<span class="text-muted small fw-semibold text-uppercase">Siswa Terdaftar</span>
|
|
<h2 class="fw-bold text-dark mt-1 mb-0">{{ $totalSiswa }}</h2>
|
|
<span class="badge bg-success-subtle text-success mt-2 rounded-pill">
|
|
<i class="fas fa-users me-1"></i>Pengguna Aktif
|
|
</span>
|
|
</div>
|
|
<div class="icon-box bg-success-subtle text-success">
|
|
<i class="fas fa-user-graduate"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Total Hasil Konsultasi -->
|
|
<div class="col-md-4">
|
|
<div class="card card-stat shadow-sm p-3">
|
|
<div class="d-flex align-items-center justify-content-between">
|
|
<div>
|
|
<span class="text-muted small fw-semibold text-uppercase">Total Konsultasi</span>
|
|
<h2 class="fw-bold text-dark mt-1 mb-0">{{ $totalHasil }}</h2>
|
|
<span class="badge bg-purple-subtle text-purple mt-2 rounded-pill" style="background-color: #f3e8ff; color: #7e22ce;">
|
|
<i class="fas fa-chart-line me-1"></i>Rekomendasi Selesai
|
|
</span>
|
|
</div>
|
|
<div class="icon-box" style="background-color: #f3e8ff; color: #7e22ce;">
|
|
<i class="fas fa-poll"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Section Visualisasi Chart & Aktivitas -->
|
|
<div class="row g-4 mb-4">
|
|
<!-- Chart Grafik -->
|
|
<div class="col-lg-8">
|
|
<div class="card border-0 shadow-sm rounded-4 p-4 h-100">
|
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
|
<div>
|
|
<h5 class="fw-bold mb-0">Visualisasi Ringkasan Sistem</h5>
|
|
<small class="text-muted">Perbandingan data siswa dan hasil konsultasi C4.5</small>
|
|
</div>
|
|
<span class="badge bg-light text-dark border">
|
|
<i class="fas fa-calendar-alt me-1"></i> Overview
|
|
</span>
|
|
</div>
|
|
<div style="height: 260px; position: relative;">
|
|
<canvas id="adminOverviewChart"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Panel Informasi / Status Ringkasan -->
|
|
<div class="col-lg-4">
|
|
<div class="card border-0 shadow-sm rounded-4 p-4 h-100">
|
|
<h5 class="fw-bold mb-3"><i class="fas fa-info-circle text-indigo me-2"></i>Status Algoritma</h5>
|
|
|
|
<div class="mb-3">
|
|
<div class="d-flex justify-content-between small fw-semibold mb-1">
|
|
<span>Akurasi Model Data</span>
|
|
<span class="text-success">Siap Klasifikasi</span>
|
|
</div>
|
|
<div class="progress" style="height: 8px;">
|
|
<div class="progress-bar bg-success rounded" role="progressbar" style="width: 100%"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="p-3 bg-light rounded-3 mb-3 border">
|
|
<div class="d-flex align-items-center gap-3">
|
|
<i class="fas fa-robot fs-3 text-primary"></i>
|
|
<div>
|
|
<div class="fw-bold small">Metode Klasifikasi</div>
|
|
<div class="text-muted small">Pohon Keputusan (C4.5) berbasis Gain Ratio</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="p-3 bg-light rounded-3 border">
|
|
<div class="d-flex align-items-center gap-3">
|
|
<i class="fas fa-file-export fs-3 text-success"></i>
|
|
<div>
|
|
<div class="fw-bold small">Laporan Rekapitulasi</div>
|
|
<div class="text-muted small">Tersedia fitur pencetakan laporan untuk siswa</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Quick Action / Menu Pintas (Termasuk Cek Rekomendasi C4.5) -->
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card border-0 shadow-sm rounded-4 p-4">
|
|
<h5 class="fw-bold mb-3"><i class="fas fa-bolt text-warning me-2"></i>Akses Cepat Admin</h5>
|
|
<div class="row g-3">
|
|
<div class="col-md-3">
|
|
<a href="{{ route('training.create') }}" class="btn btn-quick-action w-100 p-3 text-start d-flex align-items-center gap-3 text-decoration-none">
|
|
<div class="icon-box bg-primary-subtle text-primary flex-shrink-0">
|
|
<i class="fas fa-plus"></i>
|
|
</div>
|
|
<div>
|
|
<strong class="text-dark d-block">Tambah Training</strong>
|
|
<span class="small text-muted">Input data training baru</span>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<a href="{{ route('c45.index') }}" class="btn btn-quick-action w-100 p-3 text-start d-flex align-items-center gap-3 text-decoration-none">
|
|
<div class="icon-box bg-warning-subtle text-warning flex-shrink-0">
|
|
<i class="fas fa-microchip"></i>
|
|
</div>
|
|
<div>
|
|
<strong class="text-dark d-block">Cek Rekomendasi</strong>
|
|
<span class="small text-muted">Simulasi Hitung C4.5</span>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<a href="{{ route('admin.rekap') }}" class="btn btn-quick-action w-100 p-3 text-start d-flex align-items-center gap-3 text-decoration-none">
|
|
<div class="icon-box bg-success-subtle text-success flex-shrink-0">
|
|
<i class="fas fa-file-pdf"></i>
|
|
</div>
|
|
<div>
|
|
<strong class="text-dark d-block">Rekap Laporan</strong>
|
|
<span class="small text-muted">Cetak & Export PDF</span>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<a href="{{ route('training.index') }}" class="btn btn-quick-action w-100 p-3 text-start d-flex align-items-center gap-3 text-decoration-none">
|
|
<div class="icon-box bg-dark-subtle text-dark flex-shrink-0">
|
|
<i class="fas fa-folder-open"></i>
|
|
</div>
|
|
<div>
|
|
<strong class="text-dark d-block">Kelola Dataset</strong>
|
|
<span class="small text-muted">Lihat & edit dataset</span>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
@endsection
|
|
|
|
@push('scripts')
|
|
<script>
|
|
document.addEventListener("DOMContentLoaded", function () {
|
|
const ctx = document.getElementById('adminOverviewChart').getContext('2d');
|
|
|
|
new Chart(ctx, {
|
|
type: 'bar',
|
|
data: {
|
|
labels: ['Dataset Training', 'Siswa Terdaftar', 'Hasil Konsultasi'],
|
|
datasets: [{
|
|
label: 'Jumlah Data',
|
|
data: [{{ $totalTraining }}, {{ $totalSiswa }}, {{ $totalHasil }}],
|
|
backgroundColor: [
|
|
'rgba(79, 70, 229, 0.85)',
|
|
'rgba(16, 185, 129, 0.85)',
|
|
'rgba(126, 34, 206, 0.85)'
|
|
],
|
|
borderColor: [
|
|
'#4f46e5',
|
|
'#10b981',
|
|
'#7e22ce'
|
|
],
|
|
borderWidth: 1.5,
|
|
borderRadius: 10,
|
|
barThickness: 45
|
|
}]
|
|
},
|
|
options: {
|
|
responsive: true,
|
|
maintainAspectRatio: false,
|
|
plugins: {
|
|
legend: {
|
|
display: false
|
|
}
|
|
},
|
|
scales: {
|
|
y: {
|
|
beginAtZero: true,
|
|
grid: {
|
|
color: '#f1f5f9'
|
|
},
|
|
ticks: {
|
|
precision: 0
|
|
}
|
|
},
|
|
x: {
|
|
grid: {
|
|
display: false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
@endpush |