Sampai di episode terakhir, kita sudah membangun aplikasi blog Laravel 13 yang lengkap — dari php artisan new kosong sampai siap deploy ke VPS. Mari kita rangkum perjalanannya.
Tampilan akhir aplikasi Blog Dasar sebagai admin yang sudah login.
Yang sudah kita bangun
Fondasi (episode 2-6)
Instalasi Laravel 13 lewat Herd, konfigurasi MySQL, routing dasar (GET, parameter, named route), resource controller, dan blade templating (layout, include, component).
Data layer (episode 7-10)
Migration untuk tabel posts dan categories, Eloquent model dengan relasi belongsTo/hasMany, perbandingan Query Builder vs Eloquent, serta factory dan seeder untuk data dummy realistis.
Fitur utama — CRUD blog (episode 11-16) List dan detail post, form create dengan validasi, update dan delete dengan method spoofing, upload thumbnail ke storage, halaman filter kategori, sampai search dan pagination.
Keamanan dan akses (episode 17-19)
Auth scaffolding dengan Laravel UI, proteksi route lewat middleware auth, dan role admin sederhana dengan middleware custom — semuanya tanpa package tambahan.
Produksi (episode 20) Cara deploy ke VPS: Nginx, environment production, caching, SSL dengan Let's Encrypt.
Konsep inti yang perlu kamu kuasai betul
Kalau harus dipersempit jadi lima hal paling penting dari seri ini:
- Routing → Controller → View adalah alur request paling dasar di Laravel — pahami ini dengan baik sebelum lanjut ke apa pun yang lebih kompleks.
- Eloquent relationship (
belongsTo,hasMany) menghilangkan kebutuhan JOIN manual dan bikin kode jauh lebih ekspresif. - Validasi otomatis lewat
$request->validate()menangani redirect, flash error, danold()input tanpa kode tambahan. - Middleware adalah cara standar Laravel untuk aturan akses — dari sekadar "harus login" sampai role custom seperti admin.
- Konvensi Laravel (resource route, route model binding,
$fillable, migration naming) ada supaya kamu menulis lebih sedikit kode boilerplate — pelajari konvensinya, jangan lawan.
Git workflow yang kita pakai
Satu hal unik dari seri ini: setiap episode punya branch git sendiri, dan setiap branch baru di-branch dari branch episode sebelumnya secara berantai. Kalau kamu ingin melihat state kode di titik tertentu, tinggal git checkout <nama-branch-episode> — semua kode sampai titik itu sudah lengkap di sana, tidak perlu menggabungkan beberapa branch.
Ke mana setelah ini?
Aplikasi ini sengaja dijaga sederhana untuk fokus ke fundamental. Beberapa arah lanjutan yang bisa kamu eksplorasi sendiri:
- Testing otomatis dengan Pest/PHPUnit untuk tiap fitur CRUD
- API Resource untuk expose data lewat REST API (mirip pola yang dipakai platform IndoKoding sendiri)
- Livewire atau Inertia untuk interaktivitas tanpa reload halaman penuh
- Package permission seperti Spatie kalau kebutuhan role sudah lebih kompleks dari sekadar admin/user
Terima kasih sudah mengikuti seri ini
Kalau ada bagian yang kurang jelas atau kamu menemukan cara yang lebih baik, jangan ragu diskusikan di kolom komentar. Sampai jumpa di seri berikutnya!