Arjuna Mahavira
Aplikasi manajemen buku yang menggabungkan teknologi backend Laravel, frontend Next.js, dan REST API. Aplikasi ini menyediakan fitur login, registrasi, update password, dan logout untuk pengguna, serta fungsionalitas CRUD untuk manajemen buku, termasuk operasi tambah, baca, update, dan hapus.
"Aplikasi Book Management"
1. Deskripsi Aplikasi
3. Implementasi Backend (Laravel)
Pada route ini mengambil url yang dikirimkan frontend dan sebagiannya memprosesnya membutuhkan middleware auth untuk authentication dan sebagiannya lagi tidak. Untuk route books menggunakan bawaan laravel “resource” yang artinya menggunakan semua function pada controller (index, show, update, dll) dan dikecualikan function create dan edit.
Pada contoh di atas StoreBookRequest merupakan class untuk validasi input buku yang ingin disimpan ke database. Setiap input misalnya title harus melalui validasi required (tidak boleh kosong), string (harus berupa string), dan max:100 (tidak boleh lebih dari 100 karakter). Jika tidak lolos validasi maka akan mengembalikan http response berisi pesan kesalahan dan status code 422.
Pada controller book terdapat function index untuk menampilkan buku, store untuk menyimpan, show untuk menampilkan berdasarkan id, update dan terakhir destroy untuk delete buku, untuk update dan store membutuhkan validasi terlebih dahulu sebelum datanya bisa di proses. Jika berhasil, beberapa fungsi diatas akan mengembalikan BookResource yang berisi data dari buku
Pada model terdapat relation rules BelongsTo dari book ke model user
Untuk memastikan apakah fitur benar-benar berjalan dibuatkan feature test untuk setiap case nya
4. Implementasi Frontend (Next.js)
Pada next js menggunakan typescript dengan format app router. Not-found.tsx merupakan kostumisasi halaman jika path tidak ditemukan, global css berisi tailwindcss, layout dan page pada lapisan terluar merupakan halaman utama saat aplikasi di akses.
Landing Page
Login
User Profile
Books
Book add form
Book show
Sweetalert