SHOWDRIVE
Sistem informasi manajemen showroom otomotif premium berbasis web — dirancang untuk mengintegrasikan katalog kendaraan, alur reservasi, verifikasi pembayaran, dan pelaporan keuangan dalam satu platform yang efisien.
Apa itu ShowDrive?
ShowDrive adalah sebuah Sistem Informasi Manajemen Showroom Otomotif Premium berbasis web yang dibangun menggunakan framework Laravel. Platform ini menjadi solusi digital bagi showroom kendaraan mewah untuk mengelola inventaris, menerima reservasi dari pelanggan, memvalidasi pembayaran, dan menghasilkan laporan keuangan secara real-time.
Proyek ini dikembangkan sebagai Tugas Akhir (Proyek 1) pada program studi D4 Teknik Informatika di Universitas Logistik & Bisnis Internasional (ULBI), dengan fokus pada penerapan prinsip rekayasa perangkat lunak yang baik — mulai dari arsitektur MVC, keamanan berlapis, hingga user experience yang intuitif.
Sistem ini menangani seluruh alur bisnis showroom: dari pelanggan menemukan unit kendaraan di katalog publik, melakukan reservasi jadwal temu, mengunggah bukti pembayaran, hingga admin memverifikasi dan mencetak invoice resmi — semua dalam satu platform terpadu.
Katalog Kendaraan
Grid katalog publik dengan filter pencarian brand, model, dan VIN. Setiap unit dilengkapi galeri foto dan spesifikasi lengkap.
Sistem Reservasi
Formulir booking online dengan validasi real-time. Dilindungi DB transaction + lockForUpdate() untuk mencegah race condition.
Autentikasi OTP
Pelanggan mengakses riwayat booking via verifikasi OTP berbasis nomor WhatsApp — tanpa perlu membuat akun.
Invoice & Laporan
Cetak invoice PDF resmi, laporan keuangan dengan filter periode, dan ekspor data CSV untuk analisis lebih lanjut.
Validasi Pembayaran
Admin memverifikasi bukti transfer, mengelola status booking, dan mengirim notifikasi WhatsApp prefilled ke pelanggan.
Social Preview
Meta tags Open Graph lengkap di setiap halaman agar link yang dibagikan ke WhatsApp/Telegram tampil dengan preview yang rapi.
Technology Stack
Laravel 12
Backend Framework
MVC, Eloquent ORM, Queue, Artisan Commands, DB Transactions
MySQL
Relational Database
Foreign key constraints, indexing, lockForUpdate() untuk concurrency control
Tailwind CSS
UI Framework
Utility-first CSS dengan tema dark premium dan sistem warna luxury-gold
Alpine.js
Frontend Reaktif
Interaktivitas modal, validasi form real-time, dan state management ringan
PHP 8.2+
Runtime Language
Typed properties, match expressions, fibers, dan readonly classes
Blade Engine
Template Engine
Component-based views dengan @section, @yield, dan @stack inheritance
WhatsApp API
Notifikasi
Deep link wa.me dengan pesan pre-filled untuk notifikasi admin ke pelanggan
Laravel Queue
Background Jobs
DeleteOldImageJob untuk hapus file lama secara async tanpa blocking request
Bagaimana Cara Kerjanya?
Temukan Unit
Pelanggan menjelajahi katalog kendaraan, melihat foto & spesifikasi lengkap, membandingkan harga, dan berbagi unit via WhatsApp.
Buat Reservasi
Isi form booking online. Sistem mencatat data, mengunci unit, dan mengirimkan nomor invoice ke pelanggan secara instan.
Transfer & Upload
Pelanggan transfer ke rekening showroom, lalu unggah bukti bayar via halaman tracking yang diamankan dengan OTP.
Verifikasi & Serah Terima
Admin memvalidasi pembayaran, mencetak invoice resmi, dan mengkonfirmasi serah terima fisik unit kendaraan.
Dibangun dengan Security-First
Setiap fitur dirancang dengan lapisan keamanan yang mempertimbangkan ancaman nyata — mulai dari input publik hingga aksi admin yang sensitif.
DB Transaction + lockForUpdate()
Mencegah double-booking saat dua pengguna menekan tombol reservasi bersamaan (race condition).
OTP Session Authentication
Akses dashboard pelanggan diamankan dengan OTP 4-digit + bcrypt hash, expire 5 menit, maks 3x percobaan.
Rate Limiting
Endpoint OTP, verifikasi, booking, dan login masing-masing dibatasi dengan rate limiter berbeda untuk mencegah brute force.
Stealth Admin Login
URL login admin tidak standar dan memerlukan gateway token — akses langsung ke /login menghasilkan 404.
Upload Validation
Upload bukti transfer dibatasi MIME type JPEG/PNG/WebP saja. SVG diblokir eksplisit untuk mencegah stored XSS.
Strict Eloquent Mode
preventLazyLoading(), preventSilentlyDiscardingAttributes() aktif di non-production untuk deteksi bug sedini mungkin.
Struktur Database Utama
id, name, email, password, role
id, warehouse_id, brand, model, vin, year, price, dp_percentage, status, color, engine, transmission, image_url
id, item_id→items, image_path
id, name, phone [unique], nik [unique]
id, invoice_code, customer_id→customers, item_id→items, cashier_id→users, date, subtotal, tax_rate, tax_amount, total_amount, paid_amount, payment_type, payment_status, status, authentic_receipt, rejection_note, cancellation_note, handed_over_at
id, name, tax_id, address, phone, bank_name, bank_account, bank_account_holder, qris_image, logo_url, favicon_url
id, company_id→companies, name, location
Tim Pengembang
D4 Teknik Informatika — Universitas Logistik & Bisnis Internasional (ULBI)
Muhammad Aris Ashidiqi
Full-Stack Developer
NIM: 714250042
Backend architecture, database design, security layer, admin panel, public interface
Fathoni Abdul Jabbar
Frontend Developer & UI/UX
NIM: 714250039
Interface design, Tailwind implementation, mobile responsiveness, user experience
Dosen Koordinator Mata Kuliah
M. Yusril Helmi Setyawan, S.Kom., M.Kom.
Proyek 1 — D4 Teknik Informatika, ULBI · 2026
Siap Menjelajahi Katalog?
Temukan kendaraan premium impian Anda di ShowDrive.