# 🏛️ Web Profil Kampus — Universitas Nusantara Raya
**Aplikasi web profil kampus berbasis CodeIgniter 4**

---

## 📋 Fitur

- **Beranda** — Hero section, statistik, keunggulan, fakultas, berita, testimoni alumni, CTA
- **Profil Kampus** — Sejarah, visi & misi, nilai-nilai, pimpinan universitas, akreditasi & penghargaan
- **Akademik** — Daftar program studi dengan filter jenjang (S1/S2/S3/D3), kalender akademik
- **Fasilitas** — Fasilitas akademik, olahraga, akomodasi, seni & budaya
- **Kontak** — Form kontak dengan validasi CI4, peta lokasi, informasi kontak lengkap

---

## 🛠️ Persyaratan Sistem

| Komponen | Versi Minimum |
|---|---|
| PHP | 8.1+ |
| Composer | 2.x |
| MySQL/MariaDB | 5.7+ (opsional) |
| Web Server | Apache / Nginx / PHP Built-in Server |
| Ekstensi PHP | intl, mbstring, json, mysqlnd (opsional), xml |

---

## 🚀 Instalasi

### 1. Clone atau ekstrak project

```bash
# Jika menggunakan Git
git clone <repo-url> kampus-profil
cd kampus-profil

# Atau ekstrak file ZIP lalu masuk ke folder
cd kampus-profil
```

### 2. Install dependensi via Composer

```bash
composer install
```

### 3. Konfigurasi environment

```bash
# Salin file .env (sudah disediakan, tidak perlu copy)
# Edit .env sesuai konfigurasi lokal Anda
nano .env
```

Ubah nilai berikut di `.env`:
```ini
app.baseURL = 'http://localhost:8080/'

# Jika menggunakan database (opsional untuk versi ini):
# database.default.hostname = localhost
# database.default.database = kampus_profil
# database.default.username = root
# database.default.password = your_password
```

### 4. Atur permission folder

```bash
chmod -R 775 writable/
```

### 5. Jalankan server development

```bash
php spark serve
```

Akses aplikasi di: **http://localhost:8080**

---

## 📁 Struktur Project

```
kampus-profil/
├── app/
│   ├── Controllers/
│   │   ├── Home.php          # Beranda
│   │   ├── Profil.php        # Profil Kampus
│   │   ├── Akademik.php      # Program Akademik
│   │   ├── Fasilitas.php     # Fasilitas
│   │   └── Kontak.php        # Kontak + Form Handler
│   ├── Views/
│   │   ├── layouts/
│   │   │   └── main.php      # Template utama (Navbar + Footer)
│   │   ├── home/index.php    # Halaman Beranda
│   │   ├── profil/index.php  # Halaman Profil
│   │   ├── akademik/index.php # Halaman Akademik
│   │   ├── fasilitas/index.php # Halaman Fasilitas
│   │   └── kontak/index.php  # Halaman Kontak
│   └── Config/
│       └── Routes.php        # Routing aplikasi
├── public/
│   └── assets/
│       ├── css/style.css     # Stylesheet utama
│       └── js/main.js        # JavaScript utama
├── .env                      # Konfigurasi environment
├── composer.json             # Dependensi Composer
└── README.md
```

---

## 🌐 Routing

| URL | Controller | Method | Keterangan |
|---|---|---|---|
| `/` | Home | index | Halaman Beranda |
| `/profil` | Profil | index | Profil Kampus |
| `/akademik` | Akademik | index | Program Studi |
| `/fasilitas` | Fasilitas | index | Fasilitas Kampus |
| `/kontak` | Kontak | index | Form Kontak |
| `/kontak/kirim` | Kontak | kirim | POST: Proses form |

---

## 🎨 Desain

- **Tema**: Academic Prestige — Navy & Gold
- **Font**: Playfair Display (judul) + DM Sans (body)
- **Warna utama**: `#0d2137` (Navy) & `#c9962a` (Gold)
- **Responsive**: Mobile-first, breakpoint 768px & 1024px
- **Animasi**: CSS scroll reveal, hover effects, floating badges

---

## ✉️ Konfigurasi Email (Opsional)

Untuk mengaktifkan pengiriman email dari form kontak, buka `app/Controllers/Kontak.php` dan uncomment bagian email:

```php
$email = \Config\Services::email();
$email->setTo('info@unr.ac.id');
$email->setFrom($this->request->getPost('email'), $this->request->getPost('nama'));
$email->setSubject('Pesan dari: ' . $this->request->getPost('keperluan'));
$email->setMessage($this->request->getPost('pesan'));
$email->send();
```

Kemudian konfigurasi SMTP di `app/Config/Email.php`.

---

## 🔧 Pengembangan Lanjutan

Beberapa fitur yang bisa ditambahkan:
- [ ] Panel Admin (CRUD berita, galeri, data prodi)
- [ ] Database integration (MySQL) untuk konten dinamis
- [ ] Sistem pendaftaran mahasiswa baru online
- [ ] Galeri foto & video kampus
- [ ] Blog & artikel kampus
- [ ] Multi-bahasa (ID/EN)
- [ ] Integrasi Google Analytics

---

## 📝 Lisensi

MIT License — Bebas digunakan dan dimodifikasi untuk keperluan kampus.
