Skip to content

Latest commit

Β 

History

History
76 lines (56 loc) Β· 2.69 KB

File metadata and controls

76 lines (56 loc) Β· 2.69 KB

Sistem Kos & Kontrakan 🏠

Platform manajemen penyewaan properti (Kos/Kontrakan) yang dibangun menggunakan Laravel. Aplikasi ini dirancang untuk mempermudah Pemilik (Owner) dalam mengelola unit dan pembayaran, serta mempermudah Penyewa (Tenant) dalam melakukan pelaporan maintenance dan konfirmasi pembayaran.

πŸš€ Fitur Utama

  • Multi-Role Authentication: Mendukung 3 level pengguna (Admin, Owner, Tenant) menggunakan Spatie Laravel Permission.
  • Dashboard Terpisah: Tampilan dashboard yang dipersonalisasi sesuai dengan role masing-masing.
  • Manajemen Pembayaran: Tenant dapat mengunggah bukti pembayaran, dan Owner dapat memverifikasi secara real-time.
  • Layanan Maintenance: Tenant dapat mengajukan permintaan perbaikan unit melalui sistem.
  • Manajemen Pengguna: Admin memiliki kendali penuh untuk mengelola akun pengguna di dalam sistem.

πŸ› οΈ Tech Stack

  • Framework: Laravel 12
  • Database: MySQL / SQLite
  • Role Management: Spatie Laravel Permission
  • Frontend: Blade Templating, Tailwind CSS, Alpine.js (Laravel Breeze)
  • Auth: Laravel Breeze (Session Based)

πŸ“‹ Persyaratan Sistem

  • PHP >= 8.2
  • Composer
  • Node.js & NPM

βš™οΈ Instalasi

  1. Clone Repository

    git clone https://github.com/username/sistem-kos-kontrakan.git
    cd sistem-kos-kontrakan
  2. Instal Dependensi

    composer install
    npm install && npm run build
  3. Konfigurasi Environment Salin file .env.example menjadi .env dan sesuaikan pengaturan database Anda.

    cp .env.example .env
    php artisan key:generate
  4. Migrasi Database & Seeding Jalankan migrasi untuk membuat tabel dan seeder untuk membuat Role serta akun Admin default.

    php artisan migrate --seed

πŸ” Konfigurasi Role (Spatie)

Aplikasi ini menggunakan sistem Role-Based Access Control (RBAC). Daftar Role yang tersedia:

  • admin: Manajemen penuh sistem dan pengguna.
  • owner: Mengelola unit kos, memverifikasi pembayaran, dan mengelola maintenance.
  • tenant: Melakukan pembayaran dan mengajukan maintenance.

Untuk memberikan role secara manual via Tinker:

$user = User::find(1);
$user->assignRole('admin');

πŸ“ Struktur Folder Penting

  • app/Http/Controllers/Auth: Logika registrasi dan login (dengan assign role otomatis).
  • database/seeders/RolesSeed.php: Konfigurasi awal Role dan akun Admin.
  • resources/views/layouts/navigation.blade.php: Navigasi dinamis berbasis role.

πŸ“„ Lisensi

Proyek ini dikembangkan untuk tujuan pembelajaran dan manajemen internal. Silakan hubungi pengembang untuk informasi lebih lanjut.