diff --git a/app/Http/Controllers/Guru/LeaderboardController.php b/app/Http/Controllers/Guru/LeaderboardController.php
new file mode 100644
index 0000000..0e75623
--- /dev/null
+++ b/app/Http/Controllers/Guru/LeaderboardController.php
@@ -0,0 +1,18 @@
+orderByDesc('total_exp')
+ ->paginate(10);
+
+ return view('admin.leaderboard.index', compact('leaderboards'));
+ }
+}
diff --git a/app/Http/Controllers/Guru/MapelController.php b/app/Http/Controllers/Guru/MapelController.php
new file mode 100644
index 0000000..a0a7eef
--- /dev/null
+++ b/app/Http/Controllers/Guru/MapelController.php
@@ -0,0 +1,16 @@
+🏆 Leaderboard
+
+
+
+
+ | Ranking |
+ NISN |
+ Total EXP |
+ Semester |
+ Tahun Ajaran |
+
+
+
+ @foreach($leaderboards as $lb)
+
+ | {{ $lb->ranking }} |
+ {{ $lb->nisn }} |
+ {{ $lb->total_exp }} |
+ {{ $lb->semester }} |
+ {{ $lb->tahun_ajaran }} |
+
+ @endforeach
+
+
+
+{{ $leaderboards->links() }}
+
+@endsection
diff --git a/resources/views/guru/layouts/app.blade.php b/resources/views/guru/layouts/app.blade.php
index 8583965..d0adf4b 100644
--- a/resources/views/guru/layouts/app.blade.php
+++ b/resources/views/guru/layouts/app.blade.php
@@ -160,13 +160,13 @@ class="sidebar-link {{ request()->routeIs('guru.siswa.*') ? 'active' : '' }}">
Daftar Siswa
-
-
+
+
+ | Ranking |
+ NISN |
+ Total EXP |
+ Semester |
+ Tahun Ajaran |
+
+
+
+ @foreach($leaderboards as $lb)
+
+ | {{ $lb->ranking }} |
+ {{ $lb->nisn }} |
+ {{ $lb->total_exp }} |
+ {{ $lb->semester }} |
+ {{ $lb->tahun_ajaran }} |
+
+ @endforeach
+
+
+
+{{ $leaderboards->links() }}
+
+@endsection
diff --git a/resources/views/guru/mapel/index.blade.php b/resources/views/guru/mapel/index.blade.php
new file mode 100644
index 0000000..e69de29
diff --git a/routes/web.php b/routes/web.php
index ebc1b56..e76eb10 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -11,6 +11,7 @@
use App\Http\Controllers\Admin\KelasController as AdminKelasController;
use App\Http\Controllers\Admin\SiswaController as AdminSiswaController;
use App\Http\Controllers\Admin\MapelController as AdminMapelController;
+use App\Http\Controllers\Admin\LeaderboardController as AdminLeaderboardController;
// GURU CONTROLLERS
use App\Http\Controllers\Guru\LoginController as GuruLoginController;
@@ -19,6 +20,9 @@
use App\Http\Controllers\Guru\KelasController as GuruKelasController;
use App\Http\Controllers\Guru\SiswaController as GuruSiswaController;
use App\Http\Controllers\Guru\ProfilController as GuruProfilController;
+use App\Http\Controllers\Guru\MapelController as GuruMapelController;
+use App\Http\Controllers\Guru\LeaderboardController as GuruLeaderboardController;
+
// ====================
// LANDING PAGE
@@ -85,12 +89,16 @@
Route::get('/profil', function () {
return view('admin.profil');
})->name('profil');
+
// CRUD AREA
Route::resource('guru', AdminGuruController::class);
Route::resource('siswa', AdminSiswaController::class);
Route::resource('kelas', AdminKelasController::class);
Route::resource('mapel', AdminMapelController::class);
+ Route::resource('leaderboard', AdminLeaderboardController::class)
+ ->only(['index']);
+
// LOGOUT ADMIN
Route::post('/logout', [LoginController::class, 'logout'])
@@ -114,6 +122,13 @@
// Daftar Siswa (Read Only)
Route::get('/daftar-siswa', [GuruSiswaController::class, 'index'])->name('siswa.index');
+ Route::get('/mapel', [GuruMapelController::class, 'index'])
+ ->name('mapel.index');
+
+Route::get('/leaderboard', [GuruLeaderboardController::class, 'index'])
+ ->name('leaderboard.index');
+
+
// Profil (Edit)
Route::get('/profil', [GuruProfilController::class, 'show'])->name('profil.show');
Route::put('/profil', [GuruProfilController::class, 'update'])->name('profil.update');