- Abiansyah Adzani Gymnastiar
- Ariel Pratama Menlolo
- Register dan login account
- Melihat profile page
- Melihat hewan-hewan yang dapat di adopsi
- Menambahkan hewan kedalam Adoption Plan user
- Melihat list hewan-hewan Adoption Plan user
- Melihat Pethub Centers yang ada
- Menambahkan hewan ke website (admin)
- Update detail hewan (admin)
- Menghapus hewan (admin)
- Menambah center baru ke website (admin)
- Update informasi center (admin)
- Delete center (admin)
-
promote user menjadi admin dilakukan dengan cara mengganti attribute is_admin pada user menjadi 1 (true) di phpmyadmin
-
list hewan ('/animals')
tombol "+Add Animals" hanya bisa dilihat dan diakses jika user merupakan admin
-
storage link sebelum dapat menampilkan gambar hewan, perlu dilakukan storage link terlebih dahulu. Cukup lakukan
php artisan storage:linkdi terminal -
menambah hewan admin dapat melakukan penambahan hewan dengan tombol "+Add Animals"
-
melihat detail hewan dapat diakses dengan meng-click gambar hewan
-
edit detail hewan dapat diakses dengan meng-click tombol edit pada detail hewan (hanya dapat diakses oleh admin)
-
delete hewan dapat diakses dengan meng-click tombol delete pada detail hewan (hanya dapat diakses oleh admin)
-
Menambah hewan kedalam list adopsi dapat diakses dengan meng-click tombol adopt me pada detail hewan. list hewan yang ditambahkan dapat dilihat di profile user
-
-
profil user ('/profile') menampilkan nama user dan juga list adoption plan yang sudah ditambahkan
-
Peojek ini menggunakan sistem middleware dari laravel. Pada website ini, kita dapat membuat user baru dan melimit apa saja yang bisa dilakukan oleh guest, user, dan admin. Pengimplementasiannya dapat dilihat sebagai berikut
Route::get('/profile', [ProfileController::class, 'index'])->middleware('auth')->name('profile');Route::get('/animals/create', [AnimalsController::class, 'create'])->middleware('App\Http\Middleware\Admin');dengan menggunakan middleware('auth') kita dapat membuat route hanya bisa diakses jika sudah login, sedangkan middleware('App\Http\Middleware\Admin') digunakan untuk akses admin
-
Akses admin sendiri diimplementasikan dengan menambahkan Admin.php dalam app/Http/Middleware/ yang berisi
class Admin { /** * Handle an incoming request. * * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next */ public function handle(Request $request, Closure $next): Response { if(!auth()->check() || !auth()->user()->is_admin) { abort(403); } return $next($request); } }dan menambahkan
'auth' => \App\Http\Middleware\Authenticate::classpada kernel.php. Dengan begitu, seluruh user yang memiliki value 'true' dalam attribute 'is_admin' merupakan Admin
Projek ini memiliki 2 tabel database dengan keempat fitur CRUD-nya. salah satunya adalah tabel animals, dimana Read dapat diakses guest, user dan admin sedangkan Create, Update, dan Delete hanya bisa diakses oleh admin.
- Pelatihan dari admin alpro beserta link repositori yang diberikan
- Web Programming UNPAS (youtube)
- https://www.youtube.com/watch?v=6ubzdIeb4XI&list=LL&index=1&t=344s (youtube)
- stack overflow