Table of Contents
This application is an application for student competency achievements which is used as a report card for independent curriculum students. This application uses the smartadmin template. The Student Competency Achievement application was created to simplify the process of assessing teaching and learning activities at SMKN 1 Kadipaten.
The following is the development plan, the points of which will continue to be updated.
- Role (more than 2 users)
- User access is limited by active and inactive
- On and off options of some features
- Menu options to be displayed or not
- ...
git clone https://github.com/AbdoelMadjid/starter-laravel-10-smartadmin.git
cd starter-laravel-10-smartadmin
composer install
composer dump-autoload
cp .env.example .env
php artisan key:generate
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=??
DB_USERNAME=root
DB_PASSWORD=
php artisan migrate
php artisan db:seed
Role :
- Admin : [email protected]/password
- Wali Kelas : [email protected]/password
- Guru Mapel : [email protected]/password
- Siswa : [email protected]/password
The access used is to sort roles, by filtering the submenu section with the following script:
@if (auth()->user()->role == 'Admin')
@include('inc.mainmenu._menu_master')
@endif
@if (auth()->user()->role == 'Wali Kelas')
@include('inc.mainmenu._menu_walikelas')
@endif
@if (auth()->user()->role == 'Guru Mapel')
@include('inc.mainmenu._menu_gurumapel')
@endif
@if (auth()->user()->role == 'Siswa')
@include('inc.mainmenu._menu_siswa')
@endif
Active and Deactivated Login Options, for roles if the position is inactive you cannot log in
- Middleware CheckRoleStatus
public function handle(Request $request, Closure $next)
{
if (Auth::check()) {
$user = Auth::user();
$roleStatus = OpsiLogin::where('peran', $user->role)->first();
if ($roleStatus && $roleStatus->aktif === 'N') {
Auth::logout();
return back()->with('error', 'Peran Anda sedang dinonaktifkan. Silakan hubungi administrator.');
}
}
return $next($request);
}
- Implementation
Route::get('/dashboard', [TemplateController::class, 'index'])->middleware(['auth', 'check.role.status']);
- Content Setting and Other Features
Several features are set to be displayed or not
Helper Fitures.php
public static function getFiturAktif()
{
$fitur = AppFitur::where('aktif', 'Y')->get();
$hasil = [];
foreach ($fitur as $f) {
// Mengambil view berdasarkan nama_fitur
if (view()->exists("inc.fitur.{$f->nama_fitur}")) {
$hasil[] = "inc.fitur.{$f->nama_fitur}";
}
}
return $hasil;
}
Implementation
@foreach (App\Helpers\Fitures::getFiturAktif() as $fiturView)
@include($fiturView)
@endforeach
feature files are saved in View -> inc -> fitur
- Mainmenu Show
Several menu groups are created so that they can be displayed or not.
Helper Fitures.php
public static function isMainMenuTemplateActive()
{
$fitur = AppFitur::where('nama_fitur', '_mainmenu_template')->first();
return $fitur && $fitur->aktif === 'Y';
}
Implementation
@if (App\Helpers\Fitures::isMainMenuTemplateActive())
@include('inc.mainmenu._menu_depelover')
@include('inc.mainmenu._menu_intel_app')
@include('inc.mainmenu._menu_tools_component_app')
@include('inc.mainmenu._menu_plugin_addon_app')
@include('inc.mainmenu._menu_layouts_app')
@endif
Halaman Awal ![]() |
Halaman Login ![]() |
Sidebar ![]() |
Features ![]() CRUD Features ![]() |
Notification ![]() |
The Laravel framework is open-sourced software licensed under the MIT license.