Sistem Aset (SistemSet13)
Sistem Aset (SistemSet13) adalah aplikasi web manajemen aset tetap untuk organisasi yang dirancang untuk mempermudah pengelolaan data aset secara terstruktur. Aplikasi ini menyediakan fitur CRUD lengkap, mutasi aset, pelaporan, hingga dokumentasi API interaktif.
Deskripsi Project
Sistem Aset dibangun menggunakan Laravel 13 dan ditujukan untuk membantu organisasi dalam mengelola aset tetap, mulai dari kategori aset, lokasi penyimpanan, data aset, hingga perpindahan aset antar lokasi.
Dengan antarmuka yang rapi dan sistem yang terstruktur, aplikasi ini cocok digunakan oleh instansi, sekolah, perusahaan, maupun organisasi lainnya yang membutuhkan pencatatan aset secara digital.
Fitur Utama
| Modul | Deskripsi |
|---|---|
| Dashboard | Menampilkan overview statistik aset dan aktivitas terbaru. |
| Kategori Aset | CRUD kategori aset, misalnya Elektronik, Furniture, dan Kendaraan. |
| Lokasi | CRUD lokasi penyimpanan aset, seperti Gedung A, Gudang, atau Ruang Server. |
| Aset | Mengelola data aset dengan kode unik, nilai, kondisi, dan tanggal perolehan. |
| Mutasi Aset | Pencatatan perpindahan aset antar lokasi secara sistematis. |
| Laporan | Menyediakan laporan aset berdasarkan kategori, lokasi, dan riwayat mutasi. |
| User Management | Manajemen pengguna dan hak akses berbasis role & permission. |
| API Documentation | Dokumentasi API interaktif menggunakan Scramble (OpenAPI/Swagger). |
Tech Stack
- Backend: Laravel 13 (PHP 8.3+)
- Database: SQLite (default), MySQL, PostgreSQL
- Authentication: Laravel Sanctum + Spatie Laravel Permission
- API Docs: Scramble (OpenAPI/Swagger)
- Frontend: Bootstrap 5 + Tabler UI
- Frontend Build Tool: Vite + Laravel Vite Plugin
Requirements
| Software | Versi Minimum |
|---|---|
| PHP | 8.3+ |
| Composer | 2.x |
| Node.js | 18+ |
| Database | SQLite 3.x / MySQL 8.0+ / PostgreSQL 13+ |
Instalasi di Localhost
Berikut langkah-langkah instalasi Sistem Aset di lingkungan lokal:
1. Clone Repository
git clone <repository-url> sistemaset13-app
cd sistemaset13-app
2. Install Dependencies
composer install
3. Setup Environment
cp .env.example .env
php artisan key:generate
4. Setup Database
Opsi A - SQLite (default untuk development):
touch database/database.sqlite
Opsi B - MySQL:
Edit file .env:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sistemaset13
DB_USERNAME=root
DB_PASSWORD=
Lalu buat database:
CREATE DATABASE sistemaset13;
5. Jalankan Migration dan Seeder
php artisan migrate
php artisan db:seed
6. Install Frontend Dependencies
npm install
npm run dev
7. Jalankan Aplikasi
php artisan serve
Setelah server berjalan, buka aplikasi melalui browser di:
http://localhost:8000
Quick Setup
Untuk mempercepat proses instalasi, Anda juga dapat menjalankan setup cepat dengan perintah berikut:
composer run setup
npm install && npm run dev
php artisan serve
Login Default
Setelah proses seeding selesai, gunakan akun berikut untuk login:
| Role | Password | |
|---|---|---|
| Admin | admin@admin.com | password |
| Operator | operator@operator.com | password |
| Viewer | viewer@viewer.com | password |
Struktur Role & Permission
| Permission | Deskripsi | Admin | Operator | Viewer |
|---|---|---|---|---|
| view-dashboard | Melihat dashboard | ✓ | ✓ | ✓ |
| manage-kategori-aset | CRUD kategori aset | ✓ | ✓ | - |
| manage-lokasi | CRUD lokasi | ✓ | ✓ | - |
| manage-aset | CRUD aset | ✓ | ✓ | - |
| manage-mutasi-aset | Proses mutasi aset | ✓ | ✓ | - |
| view-laporan | Melihat laporan | ✓ | ✓ | ✓ |
| manage-users | Manajemen user | ✓ | - | - |
API Documentation
Sistem Aset juga menyediakan dokumentasi API interaktif melalui Scramble. Dokumentasi ini memudahkan developer dalam memahami dan menguji endpoint yang tersedia.
Akses dokumentasi melalui URL berikut:
http://localhost:8000/docs/api
Contoh Endpoint API
| Method | Endpoint | Deskripsi |
|---|---|---|
| GET | /api/kategori-aset | List kategori aset |
| POST | /api/kategori-aset | Tambah kategori |
| GET | /api/kategori-aset/{id} | Detail kategori |
| PUT/PATCH | /api/kategori-aset/{id} | Update kategori |
| DELETE | /api/kategori-aset/{id} | Hapus kategori |
| GET | /api/lokasi | List lokasi |
| GET | /api/aset | List aset |
| GET | /api/mutasi_aset | List mutasi aset |
Struktur Menu Aplikasi
Dashboard
├── Master Data
│ ├── Kategori Aset
│ ├── Lokasi
│ └── Aset
├── Transaksi
│ └── Mutasi Aset
├── Laporan
│ └── Laporan
└── Pengaturan
└── User Management
Struktur Tabel Database
Berikut gambaran struktur tabel utama pada database:
users
├── id, name, email, password, timestamps
kategori_aset
├── id, nama_kategori, keterangan, timestamps
lokasi
├── id, nama_lokasi, keterangan, timestamps
aset
├── id, kode_aset, nama_aset, kategori_id, lokasi_id
├── kondisi, jumlah, tanggal_perolehan, harga_perolehan
├── keterangan, timestamps
mutasi_aset
├── id, aset_id, lokasi_asal_id, lokasi_tujuan_id
├── tanggal_mutasi, keterangan, timestamps
permissions (via Spatie)
roles (via Spatie)
role_has_permissions (via Spatie)
model_has_roles (via Spatie)
model_has_permissions (via Spatie)
Available Artisan Commands
# Development server
php artisan serve
# Database
php artisan migrate
php artisan migrate:fresh
php artisan db:seed
php artisan db:seed --class=RolePermissionSeeder
# Clear cache
php artisan config:clear
php artisan cache:clear
# List routes
php artisan route:list
# Serve dengan custom port
php artisan serve --port=8080
Troubleshooting
Error: Permission denied pada SQLite
chmod 666 database/database.sqlite
Error: Key not found
php artisan key:generate
Error: Migrations failed
php artisan migrate:fresh --seed
Penutup
Sistem Aset (SistemSet13) merupakan solusi sederhana namun powerful untuk membantu pengelolaan aset organisasi secara digital. Dengan dukungan Laravel 13, role & permission, fitur laporan, serta dokumentasi API interaktif, aplikasi ini dapat menjadi fondasi yang kuat untuk pengembangan sistem aset yang lebih kompleks di masa mendatang.
Bagi Anda yang sedang mencari referensi project Laravel untuk manajemen aset, aplikasi ini bisa menjadi
pilihan yang tepat untuk dipelajari, dikembangkan, maupun diimplementasikan.
link download

0Komentar