10 mins read · Nov 30, 2025

Pendahuluan
Sebagai mahasiswa Teknik Informatika, saya sering mendengar bahwa Laravel adalah salah satu framework PHP terbaik untuk membangun aplikasi web. Namun awalnya, saya masih ragu apakah Laravel cukup kuat untuk menangani full stack development dalam satu framework saja, tanpa harus menambahkan framework frontend lain seperti React atau Vue.
Di sinilah saya mulai membuat sebuah aplikasi sederhana yang saya beri nama Leader Election App, dengan tujuan membuktikan bahwa Laravel tetap bisa menjadi pilihan tepat untuk membangun aplikasi fullstack yang dinamis sekaligus powerful.
Apa itu Leader Election App?
Secara sederhana, aplikasi ini digunakan untuk melakukan pemilihan ketua dalam suatu organisasi. Pengguna bisa login, melihat kandidat, dan memberikan suara. Sistem kemudian akan menyimpan hasil suara dan menampilkan ringkasan hasil pemilihan jika waktu pemilihan sudah habis.
Walaupun terdengar sederhana, di dalamnya ada fitur-fitur penting seperti manajemen user, otorisasi, CRUD data, dan pengolahan data di dashboard.
Kenapa Saya Memilih Laravel sebagai Fullstack?
Saat mulai merancang aplikasi ini, saya mempertimbangkan beberapa poin seperti:
- Laravel itu sudah menyediakan Blade templating yang berarti kita bisa bikin frontend yang dinamis dengan mudah
- Authentication sangat mudah disetup (menggunakan Laravel Breeze/Jetstream atau manual)
- Arsitekturnya rapi dan mudah dipahami (MVC -> Model View Controller)
- Dokumentasi Laravel yang sangat lengkap sehingga cocok untuk pemula
- Banyak fitur bawaan dan library yang menghemat waktu development
Jadi, dengan satu framework saja saya bisa mengatur routing, logic bisnis, database, dan tampilan. Itu sangat membantu saya memahami alur aplikasi dari ujung ke ujung.
Proses Pengembangan
Di awal pengembangan, saya langsung setup projek Laravel dan mulai dari menambahkan autentikasi pada user. Tantangan pertama saya disini adalah memahami alur request dari View -> Controller -> Model -> Database, begitu juga ketika memahami alur response yang mulai dari Database -> Model -> Controller -> View.
Di tahap in saya banyak melakukan trial and error terutama dalam:
- Mendesain migrasi database
- Setup rute dan controller
- Membuat view dengan menggunakan Blade template engine
Terkadang saya membuat beberapa kesalahan yang sempat terulang beberapa kali yaitu lupa untuk cache seperti caching route, view, dll sehingga membuat aplikasi terasa lambat.
Fitur-Fitur Utama yang Dibangun
- Autentikasi pengguna: login & register
- Role user sederhana: admin dan user biasa
- CRUD kandidat: admin bisa menambah/mengedit kandidat
- CRUD voter: admin bisa menambah dan menghapus voter
- Voting: user memberikan pilihan secara langsung
- Dashboard hasil pemilihan: menampilkan total suara dan ringkasan kandidat
Fitur ini saja sudah memberikan gambaran lengkap tentang bagaimana backend dan frontend saling terhubung di Laravel.
Arsitektur & Flow Sederhana
Secara garis besar, alurnya seperti ini:
- User mengakses halaman Blade
- View mengirim request ke Route
- Route memanggil Controller
- Controller mengolah data via Model ke Database
- Controller mengembalikan data ke View
- Tampilan diperbarui secara dinamis
Dengan alur MVC ini, saya belajar pentingnya pemisahan logika aplikasi dan antarmuka.
Tools & Teknologi yang Digunakan
- Laravel (Framework utama)
- Blade Template Engine
- Tailwind untuk tampilan UI yang cepat dan responsif
- MySQL sebagai database
- Git & GitHub untuk version control
Hasil Akhir
Saya berhasil membangun aplikasi e-voting yang berfungsi dari awal hingga akhir. Pengguna bisa login dan voting, kemudian dari sisi Admin bisa menampilkan hasil ringkasan jumlah suara yang terkumpul untuk masing-masing kandidat. Projek ini menjadi pengalaman berharga dalam memahami konsep fullstack web development.
Penutup
Melalui projek ini, saya belajar bahwa kita tidak harus ahli dulu untuk mulai membangun aplikasi atau sistem, kita justru menjadi ahli ketika kita berani untuk memulai.
Saya berharap cerita ini bisa menginspirasi teman-teman yang masih ragu memulai projek menggunakan Laravel. Framework ini sangat ramah pemula, tapi tetap kuat untuk membuat aplikasi yang siap dipakai secara produksi.