Proyek Klien

Sistem Manajemen Aset

Membuat sistem manajamen aset menggunakan Laravel 12, Bootstrap 5, dan MySQL.

Detail Implementasi

Sistem Manajemen Aset berbasis Laravel untuk pencatatan aset fisik end-to-end: registrasi aset + identifikasi (QR/RFID/NFC), movement, disposal + reverse, maintenance, audit/stocktake, approval workflow, laporan (Excel/PDF), changelog, dan pengaturan sistem berbasis database.

Project ini dibuat dengan fokus pada best practice dan clean code

Fitur Utama

1) User Management + RBAC (Spatie Permission) - Role & permission berbasis UUID - Pembatasan akses per modul melalui middleware `permission:*`

2) Master Data - Status Aset, Kelas Aset, Unit, Departemen, Person in Charge, Pengguna Aset, Kategori, Lokasi, Warranty, Vendor Contract

3) Manajemen Aset - Registrasi aset dengan kode otomatis - Foto/thumbnail aset (multi foto) tersimpan di storage - QR code otomatis menuju halaman publik detail aset (tanpa login) - RFID/NFC tag (opsional + bisa auto-generate via setting) - Arsip/retensi + soft delete + restore

4) Transaksi Aset - Movement (mutasi lokasi/departemen/user) - Disposal + Reverse Disposal - Audit/Stocktake - Maintenance (planned/in_progress/completed + dukungan flow approval `pending`)

5) Approval Workflow - Permintaan approval untuk movement/disposal/maintenance (pending/approved/rejected) - Halaman approvals untuk approver

6) Laporan - Export Excel (multi sheet) + PDF untuk aset dan transaksi - Filter laporan (date range, lokasi, dsb.) sesuai halaman laporan

7) Landing & Dokumentasi - Landing one-page untuk memperkenalkan sistem - Public asset view untuk QR scan: `GET /asset-view/{asset}` - Dokumentasi API internal app: `GET /api-docs`

Arsitektur Singkat

  • Framework: Laravel
  • Template UI: Vyzor (Bootstrap)
  • Settings: disimpan di tabel `settings` dan diakses melalui `App\\Services\\System\\SystemSettingService`
  • Audit log: file log khusus channel `asset_activity` (bukan database)
  • UUID: hampir seluruh tabel inti menggunakan UUID sebagai primary key

Folder penting: - `app/Services/` → business logic (tanpa repository pattern) - `app/Http/Controllers/` → controller tipis, delegasi ke service - `database/seeders/` → sample data - `resources/views/` → Blade UI

Kebutuhan Sistem

  • PHP 8.2+ (sesuaikan dengan `composer.json`)
  • Composer
  • Node.js + NPM (Vite build)
  • Database: MySQL/MariaDB (production) / SQLite (testing)
  • (Opsional) Laragon untuk dev di Windows

Galeri Proyek

Galeri 1
Galeri 2
Galeri 3
Galeri 4
Galeri 5
Galeri 6

Konteks Implementasi

Bagian ini disusun dari data portfolio yang tersedia di database lama, lalu dirapikan agar tetap enak dibaca di frontend Next.js.

  • Klien: PT. Citanusa
  • Periode: 3 bulan
  • Stack teknis: \Laravel\, \Bootstrap5\, \MySQL\, \VanillaJS\