> For the complete documentation index, see [llms.txt](https://learn.devlabss.my.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.devlabss.my.id/laravel/bab-13-pengayaan-proyek-and-portofolio/13.6-proyek-akhir-versi-mandiri.md).

# 13.6 Proyek Akhir Versi Mandiri

## Proyek akhir versi mandiri

Sampai titik ini, Anda sudah banyak mengikuti alur langkah demi langkah.

Sekarang saatnya membangun fitur lebih mandiri.

Di tugas akhir ini, Anda diminta mengembangkan proyek E-Library tanpa panduan rinci di setiap baris.

### Tujuan proyek akhir

Proyek ini dipakai untuk menguji apakah Anda benar-benar paham pola kerja Laravel dasar.

Bukan sekadar menyalin kode.

Targetnya adalah membuat versi E-Library yang lebih lengkap dengan keputusan Anda sendiri.

### Target proyek akhir

Setelah menyelesaikan proyek ini, Anda diharapkan bisa:

* merancang fitur dari kebutuhan singkat
* menentukan route, controller, model, dan view yang dibutuhkan
* menerapkan CRUD dengan validasi
* memakai relasi, auth, dan pembatasan akses dasar
* menyusun proyek sebagai portofolio yang layak ditunjukkan

### Spesifikasi minimal proyek

Bangun proyek dengan syarat minimal berikut:

* login dan register berjalan
* hanya admin yang bisa mengelola data buku
* user biasa bisa melihat daftar buku
* buku punya kategori
* daftar buku punya pagination
* daftar buku punya pencarian
* buku bisa memiliki cover gambar
* ada fitur peminjaman sederhana

### Tantangan tambahan yang direkomendasikan

Jika target minimal sudah selesai, pilih minimal dua tantangan berikut:

* tampilkan riwayat peminjaman user
* tambahkan status buku tersedia atau habis
* tambahkan halaman detail buku
* tampilkan dashboard ringkas jumlah buku, kategori, dan peminjaman
* unggah proyek ke GitHub

### Langkah kerja yang disarankan

Gunakan urutan kerja berikut agar proyek lebih terarah.

{% stepper %}
{% step %}

### Tulis daftar fitur

Buat checklist fitur yang ingin Anda selesaikan.

Pisahkan antara target minimal dan target tambahan.
{% endstep %}

{% step %}

### Susun struktur pengerjaan

Tentukan fitur mana yang dikerjakan dulu.

Urutan aman biasanya:

* auth
* kategori
* buku
* pagination dan search
* upload cover
* peminjaman
  {% endstep %}

{% step %}

### Kerjakan per fitur sampai selesai

Jangan membuka terlalu banyak fitur sekaligus.

Selesaikan satu bagian, uji, lalu lanjutkan ke bagian berikutnya.
{% endstep %}

{% step %}

### Uji semua alur utama

Cek login, role admin, tambah buku, edit buku, hapus buku, pencarian, pagination, dan peminjaman.

Pastikan tidak ada alur utama yang rusak.
{% endstep %}

{% step %}

### Rapikan proyek sebagai portofolio

Pastikan nama proyek jelas.

Tulis deskripsi singkat.

Jika memungkinkan, unggah ke GitHub.
{% endstep %}
{% endstepper %}

### Output yang harus terlihat

Setelah proyek akhir selesai, hasil berikut seharusnya sudah terlihat:

* aplikasi E-Library berjalan end-to-end
* fitur minimal selesai dan bisa diuji
* akun admin dan user punya perilaku akses yang berbeda
* buku bisa dicari, dibagi per halaman, dan punya kategori
* cover buku tampil untuk data yang memiliki file
* proyek siap dipresentasikan atau diunggah ke GitHub

### Rubrik cek mandiri

Gunakan checklist ini sebelum mengumpulkan proyek:

* **Fungsi inti** — login, CRUD buku, kategori, dan peminjaman berjalan
* **Kerapian** — nama route, controller, dan view konsisten
* **Keamanan dasar** — validasi dan authorization tidak dilewati
* **Kelengkapan** — pagination, search, dan upload cover benar-benar dipakai
* **Portofolio** — proyek punya repository GitHub atau dokumentasi singkat

### Troubleshooting yang paling sering

Masalah yang paling sering muncul:

* **fitur terlalu banyak dibuka sekaligus** — kerjakan per bagian
* **route saling bentrok** — rapikan penamaan dan cek resource route
* **role tidak bekerja** — pembatasan hanya dilakukan di Blade
* **upload cover gagal** — form atau storage belum benar
* **pencarian tidak konsisten** — query dan pagination belum dipadukan dengan baik

{% hint style="warning" %}
Jangan menunggu semua fitur selesai untuk mulai mengetes. Uji setiap fitur segera setelah selesai dibuat.
{% endhint %}

### Mini tugas penutup

Selesaikan tiga hal ini:

* buat video demo singkat proyek Anda
* unggah proyek ke GitHub
* tulis tiga hal yang paling Anda pahami dan dua hal yang masih ingin Anda dalami

### Ringkasan subbab

Proyek akhir mandiri adalah momen untuk menunjukkan bahwa Anda sudah bisa berpikir, menyusun, dan menyelesaikan fitur Laravel dasar secara lebih mandiri.

Kalau proyek ini berjalan rapi, Anda sudah punya fondasi yang bagus untuk naik ke level berikutnya.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.devlabss.my.id/laravel/bab-13-pengayaan-proyek-and-portofolio/13.6-proyek-akhir-versi-mandiri.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
