Skip to content

Repository files navigation

FP-ALPRO

  • Abiansyah Adzani Gymnastiar
  • Ariel Pratama Menlolo

Features

  • 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)

Tampilan dan fitur website:

  • home ('/') home

  • registrasi dan login registration login

  • promote user menjadi admin dilakukan dengan cara mengganti attribute is_admin pada user menjadi 1 (true) di phpmyadmin admin-change

  • list hewan ('/animals') animals-admin 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:link di terminal

    • menambah hewan admin dapat melakukan penambahan hewan dengan tombol "+Add Animals" animals-create animals-after-create

    • melihat detail hewan dapat diakses dengan meng-click gambar hewan animal-show-admin

    • edit detail hewan dapat diakses dengan meng-click tombol edit pada detail hewan (hanya dapat diakses oleh admin) animals-edit

    • 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 profile

Authentication

  • 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::class pada kernel.php. Dengan begitu, seluruh user yang memiliki value 'true' dalam attribute 'is_admin' merupakan Admin

CRUD Animal

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.

References and special thanks:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages