// STUDI KASUS

HATTI

Platform Laravel untuk profil organisasi, CMS konten, manajemen anggota, generator KTA PDF, dan pendaftaran event dengan pricing bertingkat — semua dalam satu aplikasi.

Website Organisasi & OperasionalProyek KlienKlien: HATTI
Peran
Laravel / Full-Stack Developer
Periode
Jun 2025 – Mei 2026

Laravel 10, MySQL, Tailwind CSS, AdminLTE, Alpine.js, DomPDF

Screenshot

/images/projects/hatti/1.png
Landing page publik
/images/projects/hatti/2.png
Manajemen anggota & KTA
/images/projects/hatti/3.png
Event registration & pricing
/images/projects/hatti/4.png
Pengelolaan konten website

Tempatkan screenshot di folder public/images/projects/hatti/.

Tantangan

Organisasi butuh website publik sekaligus panel admin untuk mengelola konten, keanggotaan, dan event. Sebelumnya: manual, chat, spreadsheet — inkonsistensi tinggi. Tantangan teknis: banyak domain fitur berbeda dalam satu codebase (keanggotaan, konten, event), generator KTA PDF dengan preview dan download aman, event registration dengan pricing bertingkat + add-on + invoice, dan migrasi konten legacy.

Solusi

Laravel 10 monolith dengan route terpisah: publik, auth, admin. Service layer untuk logika bisnis kompleks — controller tetap tipis. Spatie Permission untuk RBAC admin. Service: Member, Post, EventPricing, KTA Signature, LegacyImport. Event pricing: period, rate, add-on, invoice, upload bukti bayar. KTA: PDF generator dengan preview + signed URL download.

Fitur Utama

  • Website publik: landing, artikel, profil organisasi, agenda event
  • CMS konten (post, kategori, slider, visi-misi, struktur organisasi)
  • Manajemen anggota dengan data terstruktur
  • Generator KTA PDF dengan preview & download aman
  • Event registration: custom field, pricing bertingkat, add-on
  • Invoice & upload bukti bayar
  • RBAC admin dengan Spatie Permission
  • Migrasi konten legacy ke sistem baru

Hasil

Admin mengelola website dan operasional dari satu dashboard. Publikasi konten tanpa kode. KTA bisa preview dan download. Event registration dari pencarian sampai konfirmasi pembayaran.