# Website SMK Muhammadiyah 1 Berbek 🏫

[![Laravel](https://img.shields.io/badge/Laravel-11.x-brightgreen)](https://laravel.com)
[![PHP](https://img.shields.io/badge/PHP-8.1+-blue)](https://php.net)

Platform profil sekolah berbasis **Laravel** lengkap dengan panel admin untuk mengelola semua konten publik secara dinamis.

## ✨ Fitur Utama

### 📱 Halaman Publik
- 🏠 **Landing page** dengan banner dinamis
- 👥 **Profil sekolah** dengan struktur organisasi
- 🏆 **Prestasi** siswa dan sekolah
- 📢 **Pengumuman** terbaru

### 🛠️ Panel Admin (Full CRUD)
- 📊 **Dashboard** dengan statistik
- 🖼️ **Manajemen Banner** (upload gambar)
- 📈 **Manajemen Struktur Organisasi** (upload foto)
- 📢 **Manajemen Pengumuman** (upload gambar)
- 🏢 **Manajemen Fasilitas** (upload foto)
- 🏆 **Manajemen Prestasi** (upload gambar)
- 🎓 **Manajemen Jurusan** 
- 👨‍🏫 **Manajemen Tenaga Pendidik** (upload foto)
- 🖼️ **Manajemen Gallery** (upload gambar)
- 👮 **Manajemen Admin** (CRUD user admin)
- ⚙️ **Pengaturan** (profil & ganti password)

### 🔐 Autentikasi Admin
- Login admin
- Forgot password & reset password via email

## 🧰 Teknologi Stack
- **Backend:** Laravel 11.x, PHP 8.1+
- **Frontend:** Blade Templates, Bootstrap 5, Font Awesome
- **Build:** Vite + npm
- **Database:** MySQL / MariaDB
- **Assets:** Upload gambar ke `public/images/*`

## ✅ Prasyarat
- PHP 8.1+
- Composer
- Node.js 18+ + npm
- MySQL 8.0+ / MariaDB
- **XAMPP** (sudah siap di `c:/xampp/htdocs/web-smk`)

## 🚀 Instalasi & Setup

1. **Install dependencies:**
   ```bash
   composer install --optimize-autoloader --no-dev
   npm install
   ```

2. **Environment setup:**
   ```bash
   copy .env.example .env
   php artisan key:generate
   ```

3. **Database config** di `.env` (XAMPP default):
   ```env
   DB_CONNECTION=mysql
   DB_HOST=127.0.0.1
   DB_PORT=3306
   DB_DATABASE=web_smk_muhammadiyah
   DB_USERNAME=root
   DB_PASSWORD=
   ```

4. **Migrasi & Seed data awal:**
   ```bash
   php artisan migrate --seed
   ```

5. **Jalankan development server:**
   ```bash
   php artisan serve
   npm run dev  # di terminal lain
   ```

Akses app di **`http://localhost:8000`**.

## 👤 Akun Admin Default (dari Seeder)
| Email                  | Password  |
|------------------------|-----------|
| `diva.rahma@smk.com`  | `password` |
| `admin@smk.com`       | `password` |

**Login:** `/admin/login`

## 🗺️ Rute Penting
| Route                  | Deskripsi             |
|------------------------|-----------------------|
| `/`                    | Landing Page         |
| `/profil`              | Profil Sekolah       |
| `/prestasi`            | Daftar Prestasi      |
| `/pengumuman`          | Daftar Pengumuman    |
| `/admin/dashboard`     | Admin Dashboard      |

## 📁 Struktur Folder Utama
```
public/images/
├── banner/     # Banner landing
├── fasilitas/  # Foto fasilitas
├── gallery/    # Galeri sekolah
├── guru/       # Foto pengajar
├── prestasi/   # Gambar prestasi
├── struktur/   # Foto struktur organisasi
└── ...
```

## 🧪 Testing
```bash
php artisan test
```

## 🤝 Kontribusi
1. Fork repo & buat branch `feature/xxx`
2. Commit dengan format: `feat/module: deskripsi` atau `fix/bug: deskripsi`
3. Push & buka Pull Request

**Terima kasih telah berkontribusi! 🎉**

## 📄 Lisensi
[MIT](LICENSE)
