Anda di halaman 1dari 3

langkah - langkah membuat aplikasi registrasi dan login menggunakan jetstream

inersia vue.js

1. masuk ke folder laragon


2. lalu pilih terminal
3. copy kan 'composer create-project laravel/laravel multhauth_laravel_inersia'
lalu enter
4. tunggu download laravel sukses
5. setelah itu masuk ke folder multhauth nya
6. 'cd muthauth_laravel_inersia'
7. lalu install jetstreamnya copykan 'composer require laravel/jetstream' di
terminalnya
8. setelah menginstall selesai lalu
9. install inersia nya 'php artisan jetstream:install inertia'
10. setelah selesai masuk ke visual code studio
11. copykan ' code .' ke terminalnya
12. lalu cek di composer.json untuk versi laravel nya berapa, versi jetstream dan
inersia nya juga
13. lalu masuk file '.env' untuk membuat databasenya
14. namailah databasenya sesuai dengan nama folder 'multhauth_laravel_inersia'
15. masuk ke database buat database sesuai nama diatas
16. lalu masuk ke viscode cari file database, lalu masuk pilih migrations, pilih
file ' users_table.php'
17. tambahkan 1 file di bawah $table->string('name'); yaitu $table-
>boolean('is_admin');
18. lalu akan kita akses databasenya melalui models
19. pilih file app, lalu pilih file models, pilih user.php
20. tambahkan variabel di bawah 'email' dengan 'is_admin',
21. lalu ke factories ke file 'userfactory.php
22. tambahkan ' is_admin'=> 0, di bawah variabel 'name' => $this->faker->name(),
23. data nmr 22 itu digunakan untuk mengecek bahwa admin atau bukan
24. lalu menjalankan terminal membuat models baru dengan nama role
25. copykan 'php artisan make:model Role -mfs'
26. -mfs itu (migration,factory, dan seeders) membuat role secara sekaligus di
ketiga file tersebut
27. lalu akan membuat controllernya yang terdapat di file admin Role controller
dengan menambahkan resoult dan model dari role caranya
28. copykan diterminal 'php artisan make:controller Admins\\RoleController -r --
model=Role'
29. selanjutnya menambahkan girl di file migrastion di roles_table.php
30. tambahkan '$table->string('name');' dibawah variabel $table->id();
31. lalu didalam file model role.php ditambahkan 'protected $fillable = ['name'];'
32. selanjutnya membuat relasi table usernya pada role.php, copykan '
public function users(){
return $this->belongsToMany(User::class);
}'
33. lalu pastekan lagi ke user.php di file models,lalu 'public funtion User()' pada
User nya diganti roles dan pada 'belongToMany(User::class);' kata usernya diganti
Role
34. lalu buat 1 migration khususkan melakukan forgenkey jadi skrip memisahkan
frogenkey role dan user dimana ditambahkan role user
35. copykan 'php artisan make:migration create_role_user_table --create=role_user'
36. selanjutkan dibuka file migration pada role_user_table.php di bagian function
up dibawah $table->id();, ditambahkan $table->foreignId('role_id')->constrained()-
>onDelete('cascade'); lalu dicopy dibawahnya yang kedua, cuma yang ('role_id')
diganti ('user_id')
37. selanjutnya masuk ke Rolefactory.php, di public function definition() return
[ ] diisikan 'name' => 'user',
38. dan di file seeder.php membutuhkan usersidak jadi kita buatkan
39. copykan diterminal 'php artisan make:seeder UserSeeder
40. lalu di dalam file RoleSeeder.php bagian public function run() kita tambahkan 4
data untuk nama, ' Role::create(['name' => 'super-admin']); Role::create(['name' =>
'admin']); Role::create(['name' => 'pamong']); Role::create(['name' => 'anggota']);
sebelumnya tambahkan use App\Models\Role;
41. lalu masuk ke UserSeeder.php, tambahkan variabel $superAdminRole =
Role::where('name', 'super-admin') -> first(); $AdminRole = Role::where('name',
'admin') -> first(); $pamongRole = Role::where('name', 'pamong') -> first();
$anggotaRole = Role::where('name', 'anggota') -> first();
42. selanjutnya tambahkan buat variabel dimana akan panggil model usernya, $super-
admin = User::create([]); dimana didalam [] akan kita isikan field yang terdapat
didalam migration dari user, $super-admin = User::create(['name' => 'super admin',
'is_admin' => 1,
'email' => 'super@admin.com',
'email_verified_at' => now(),
'password' => Hash::make('password'),
'remember_token' => Str::random(10),]);
lalu import diatas untuk strnya 'use Illuminate\Support\Str;'
43. selanjutnya kita copykan itu semua sesuai role 4 tadi
$admin = User::create(['name' => 'admin',
'is_admin' => 1,
'email' => 'admin@admin.com',
'email_verified_at' => now(),
'password' => Hash::make('password'),
'remember_token' => Str::random(10),]);
$pamong= User::create(['name' => 'pamong',
'is_admin' => 1,
'email' => 'pamong/instruktur@admin.com',
'email_verified_at' => now(),
'password' => Hash::make('password'),
'remember_token' => Str::random(10),]);
$anggota = User::create(['name' => 'anggota',
'is_admin' => 1,
'email' => 'anggota@admin.com',
'email_verified_at' => now(),
'password' => Hash::make('password'),
'remember_token' => Str::random(10),]);
44. membuat relasi 4 variabel role
membuat variabel untuk manggil dari 4 variabel tadi
$superAdmin->roles()->attach($superAdminRole);
$admin->roles()->attach($adminRole);
$pamong->roles()->attach($pamongRole);
$anggota->roles()->attach($anggotaRole);
45. untuk selanjutnya ke file databaseseeder.php guna menjalankan userseeder dan
roleseeder, dipublic function run()
46. di uncoment dan dirubah user menjadi role' \App\Models\Role::factory()-
>hasUsers(100)->create(); '
47. membuat satu fungsi untuk memanggil dari seedernya '$this-
>call([ RoleSeeder::class, UserSeeder::class,]);
48. lakukan migrate dan migrasi data dari migrasi yang sudah dibuat dan userseeder
caranya ' php artisan migrate --seed '
49. jalankan ' php artisan serve '
50. tambahkan terminal baru lalu ' npm run watch '
51. jika terdapati error jalankan 'npm install'
52. setelah itu jalankan 'npm run dev'
53. jika ketika di migrate error maka masuk ke file App-Providers-
AppServiceProvider.php tambahkan use Illuminate\Support\Facades\Schema;
54. lalu ke public function boot() ditambahkan Schema::defaultStringLength(191);
selanjutnya membuat layout dashboard admin
1. buka viscode nya lalu buka terminal untuk membuat controller yang berada di
dalam folder admin 'php artisan make:controller Admins\\AdminDashboardController -r
2. lalu masuk ke file routes lalu pilih file web.php dimana file ini akan
menampilkan atau mengakses tampilan halaman yang dibuat untuk admin disitu
menggunakan inertia maka diperlukan untuk merunning dari npm, dan ada route
middleware digunakan untuk mengamankan suatu akun ketika login dan sudah login akan
diarahkan kedalam dashboard
3. lalu kita membuat satu route yaitu prefix 'Route::prefix('admin')-
>middleware(['auth:sanctum','verified'])->name('admin.')->group(function()
{ Route::get('dashboard',[AdminDashboardController::class, 'index'])-
>name('dashboard');
});'
4.ctrl+p lalu tulis admindashboardcontroller.php, setelah masuk file itu nanti
ketika menjumpai eror maka di baris 8 class \AdminDashboardController extends
Controller untuk \ nya dihapus
5. lalu melakukan return index di baris 18 isikan ' return
Inertia::render('Admin/Dashboard'); (pastikan sudah terimport di Inertia di baris
7)
6. lalu kita buka js nya di file js, lalu kita membuat folder admin didalah folder
js, lalu didalam folder admin kita buat 1 file dengan nama Dashboard.vue
7.

Anda mungkin juga menyukai