Tentang Platform

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.

Latar Belakang

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.

Dibangun Dengan

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

Alur Sistem

Bagaimana Cara Kerjanya?

STEP 01

Temukan Unit

Pelanggan menjelajahi katalog kendaraan, melihat foto & spesifikasi lengkap, membandingkan harga, dan berbagi unit via WhatsApp.

STEP 02

Buat Reservasi

Isi form booking online. Sistem mencatat data, mengunci unit, dan mengirimkan nomor invoice ke pelanggan secara instan.

STEP 03

Transfer & Upload

Pelanggan transfer ke rekening showroom, lalu unggah bukti bayar via halaman tracking yang diamankan dengan OTP.

STEP 04

Verifikasi & Serah Terima

Admin memvalidasi pembayaran, mencetak invoice resmi, dan mengkonfirmasi serah terima fisik unit kendaraan.

Keamanan Sistem

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

users

id, name, email, password, role

items

id, warehouse_id, brand, model, vin, year, price, dp_percentage, status, color, engine, transmission, image_url

item_images

id, item_id→items, image_path

customers

id, name, phone [unique], nik [unique]

invoices

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

companies

id, name, tax_id, address, phone, bank_name, bank_account, bank_account_holder, qris_image, logo_url, favicon_url

warehouses

id, company_id→companies, name, location

Kelompok 18

Tim Pengembang

D4 Teknik Informatika — Universitas Logistik & Bisnis Internasional (ULBI)

AA

Muhammad Aris Ashidiqi

Full-Stack Developer

NIM: 714250042

Backend architecture, database design, security layer, admin panel, public interface

FA

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.

KATALOG
CEK INVOICE
TENTANG