# 📘 Panduan Lengkap Instalasi & Menjalankan di Localhost (Node.js & XAMPP)

Panduan ini menjelaskan cara mengunduh, mengonfigurasi, dan menjalankan proyek Anda dalam dua skenario:
1. **Menjalankan Aplikasi Utama (SewaBeliPro - React + Vite + Express)** secara lokal dengan Node.js.
2. **Menjalankan Proyek Ekspor CodeIgniter 3 (PHP)** di dalam lingkungan lokal **XAMPP** dengan database MySQL.

---

## 🚀 BAGIAN 1: Menjalankan Aplikasi Utama (React + Express) Tanpa `GEMINI_API_KEY`

Aplikasi utama telah dikonfigurasi agar **tetap berjalan 100% normal dan lancar** meskipun Anda tidak memasukkan `GEMINI_API_KEY`. Aplikasi akan secara otomatis beralih ke *Offline/Simulated Mode* yang responsif dan berkinerja tinggi.

### Langkah-langkah:
1. **Unduh Proyek**: Ekspor seluruh folder proyek ini dari Google AI Studio (bisa melalui ekspor ZIP di menu Settings).
2. **Install Node.js**: Pastikan Anda sudah menginstal [Node.js](https://nodejs.org/) (versi 18 atau lebih baru recommended).
3. **Buka Terminal / CMD**: Masuk ke direktori proyek utama Anda.
4. **Instal Dependensi**:
   ```bash
   npm install
   ```
5. **Konfigurasi Environment (Opsional)**:
   - Duplikat file `.env.example` dan ganti namanya menjadi `.env`.
   - Jika Anda tidak memiliki `GEMINI_API_KEY`, kosongkan saja atau gunakan nilai default. Sistem akan otomatis mensimulasikan hasil analisis profil dengan cerdas!
6. **Jalankan Developer Server**:
   ```bash
   npm run dev
   ```
7. **Buka Browser**: Akses aplikasi utama di [http://localhost:3000](http://localhost:3000).

---

## 🐘 BAGIAN 2: Menjalankan CodeIgniter 3 (PHP) di Localhost XAMPP

Kami telah mengemas, mengintegrasikan, dan mengekstrak semua template beserta **Core System Framework CodeIgniter 3** ke dalam folder nyata bernama `propertyhub` di root proyek ini. Ini menjadikannya sebuah proyek CodeIgniter 3 yang **100% lengkap, utuh, dan siap pakai secara mandiri (out-of-the-box)** di XAMPP Anda.

### Langkah-langkah:

### 1. Salin Folder Proyek ke XAMPP
1. Buka folder proyek utama Anda, cari folder bernama `propertyhub`.
2. Salin (Copy) folder `propertyhub` tersebut.
3. Tempel (Paste) folder tersebut ke direktori `htdocs` milik XAMPP Anda:
   - **Windows**: `C:\xampp\htdocs\propertyhub`
   - **macOS**: `/Applications/XAMPP/xamppfiles/htdocs/propertyhub`

### 2. Aktifkan XAMPP
1. Buka **XAMPP Control Panel**.
2. Klik tombol **Start** pada modul **Apache** and **MySQL**.

### 3. Buat dan Impor Database MySQL
1. Buka browser dan akses **phpMyAdmin** di: [http://localhost/phpmyadmin/](http://localhost/phpmyadmin/).
2. Buat database baru:
   - Klik tab **Databases** (atau **Basis Data**).
   - Masukkan nama database: `db_properti_hub` (atau sesuaikan dengan kebutuhan Anda).
   - Klik **Create** (Buat).
3. Impor skema SQL:
   - Klik database `db_properti_hub` yang baru dibuat di bilah sisi kiri.
   - Klik tab **Import** di bagian atas.
   - Klik tombol **Choose File** (Pilih File), lalu arahkan ke file `database.sql` yang berada di dalam folder `propertyhub/database.sql`.
   - Gulir ke bawah dan klik tombol **Import** (atau **Go**).
   - phpMyAdmin akan membuat tabel `roles`, `permissions`, `role_permissions`, `users`, `properties`, `rooms`, dan `transactions` beserta data pengujian awal (seeding) secara otomatis.

### 4. Konfigurasi CodeIgniter 3
Kami telah mengonfigurasi pengaturan dasar agar langsung cocok secara instan, namun pastikan kecocokan konfigurasi berikut:

* **Konfigurasi Database (`application/config/database.php`)**:
  Buka file `propertyhub/application/config/database.php` and pastikan pengaturan berikut sesuai dengan MySQL XAMPP Anda (default):
  ```php
  'hostname' => 'localhost',
  'username' => 'root',     // Default XAMPP username
  'password' => '',         // Default XAMPP password (kosong)
  'database' => 'db_properti_hub', // Nama database yang Anda buat di phpMyAdmin
  'dbdriver' => 'mysqli',
  ```

* **Konfigurasi Base URL (`application/config/config.php`)**:
  Buka file `propertyhub/application/config/config.php` and sesuaikan `base_url`:
  ```php
  $config['base_url'] = 'http://localhost/propertyhub/';
  ```

### 5. Akses Proyek Anda!
Buka browser Anda dan navigasikan ke:
👉 **[http://localhost/propertyhub/](http://localhost/propertyhub/)**

Anda sekarang dapat login menggunakan akun default berikut:
* **Peran Owner**: Username: `budi_owner` | Password: `password123`
* **Peran Guest**: Username: `ani_guest` | Password: `password123`

Jelajahi fitur SewaBeliPro berbasis PHP CodeIgniter 3 sepenuhnya!

---

## 🔍 Mengapa Struktur Folder Ini Sempurna untuk Belajar / Deployment?
* **Dual-Stack Power**: Anda mendapatkan versi **Modern Frontend (React + Express + Tailwind)** sebagai aplikasi utama interaktif Anda, PLUS versi **Enterprise Monolith (CodeIgniter 3 + PHP + MySQL)** lengkap dengan folder `system` asli yang siap dijalankan langsung di server hosting tradisional atau XAMPP lokal.
* **Complete & Self-Contained**: Semua folder utama seperti `application`, `system`, `uploads`, dan file `database.sql` sudah disatukan ke tempatnya masing-masing. Tidak perlu men-download engine CodeIgniter 3 eksternal lagi secara manual!
* **No-Key Resilience**: Aplikasi tetap bisa mendemonstrasikan kecerdasan AI berkat offline engine yang kami bangun di backend Express, menjamin presentasi Anda tetap aman dan bebas error kapan saja!
