
# 🚀 cPanel Deployment Plan - Axel Guest System

## 📋 PERSIAPAN DATABASE DI PHP MY ADMIN

### Langkah-langkah di phpMyAdmin:

1. **Login ke cPanel** → Buka **phpMyAdmin**
2. **Buat Database Baru**:
   - Database Name: `thez9859_guests`
3. **Buat Database User**:
   - Username: `thez9859_axel_admin`
   - Password: *[isi dengan password Anda]*
4. **Berikan Privileges**:
   - Tambahkan user ke database dengan all privileges
5. **Import SQL Schema**:
   - Pilih database `thez9859_guests`
   - Klik tab **Import**
   - Pilih file: `api/guests/setup-database.sql`
   - Klik **Go**

---

## 📁 STRUKTUR FILE UNTUK DI-UPLOAD

```
public_html/
│
├── .htaccess              ← Konfigurasi server (WAJIB)
├── admin-guests.html      ← Dashboard Admin
├── scan-guest.html        ← Halaman Scan QR
│
└── api/
    └── guests/
        ├── config.php     ← WAJIB UPDATE CREDENTIAL DB
        ├── setup-database.sql
        ├── create.php
        ├── scan.php
        ├── list.php
        ├── attendance.php
        ├── login.php
        ├── logout.php
        ├── delete.php
        ├── update.php
        ├── bulk-upload.php
        ├── delete-attendance.php
        └── storage.json
```

---

## 🔧 KONFIGURASI YANG HARUS DILAKUKAN

### Update api/config.php dengan credential database Anda:

```php
define('DB_HOST', 'localhost');
define('DB_NAME', 'thez9859_guests');
define('DB_USER', 'thez9859_axel_admin');
define('DB_PASS', '[ISI PASSWORD ANDA]');
```

---

## 📤 LANGKAH UPLOAD KE CPANEL

### Metode 1: File Manager
1. Login cPanel → **File Manager**
2. Navigate ke `public_html/`
3. Upload file berikut:
   - `.htaccess`
   - `admin-guests.html`
   - `scan-guest.html`
4. Upload folder `api/` dan semua isinya

### Metode 2: FTP / SFTP
1. Connect ke hosting menggunakan FileZilla atau WinSCP
2. Upload semua file ke `public_html/`

### Metode 3: ZIP Upload
1. Compress semua file menjadi `guest-system.zip`
2. Upload ZIP ke `public_html/`
3. Extract di File Manager

---

## ⚙️ PENGATURAN .HTACCESS

Sesuaikan `RewriteBase` di `.htaccess` sesuai lokasi:

```apache
# Opsi A: Jika di subdomain (guest.theaxel.id)
# RewriteBase /

# Opsi B: Jika di subfolder (theaxel.id/guest/)
RewriteBase /

# Opsi C: Jika langsung di public_html (theaxel.id)
# RewriteBase /
```

---

## ✅ CHECKLIST DEPLOYMENT

- [ ] 1. Buat database `thez9859_guests` di phpMyAdmin
- [ ] 2. Buat user `thez9859_axel_admin` dengan password aman
- [ ] 3. Update `api/config.php` dengan credential DB
- [ ] 4. Import `api/guests/setup-database.sql`
- [ ] 5. Upload file ke public_html:
     - [ ] `.htaccess`
     - [ ] `admin-guests.html`
     - [ ] `scan-guest.html`
     - [ ] folder `api/`
- [ ] 6. Test akses `https://domain.com/admin-guests.html`
- [ ] 7. Test login admin
- [ ] 8. Test buat undangan baru (ID format: RR-XXXX)
- [ ] 9. Test scan QR di `scan-guest.html`
- [ ] 10. Test kehadiran check-in

---

## 📱 AKSES SISTEM

| Halaman | URL |
|---------|-----|
| **Admin Dashboard** | `https://domain.com/admin-guests.html` |
| **QR Scanner** | `https://domain.com/scan-guest.html` |

---

## 🔧 TROUBLESHOOTING

### Error: "Database connection failed"
✅ Solusi:
- Cek credential di `api/config.php`
- Pastikan database `thez9859_guests` sudah di-import
- Pastikan user `thez9859_axel_admin` sudah diberi akses

### Error: "Camera tidak bisa diakses"
✅ Solusi:
- Pastikan domain menggunakan **HTTPS**
- Izinkan akses kamera di browser

### Error: "404 Not Found"
✅ Solusi:
- Cek `.htaccess` sudah di-upload
- Pastikan `mod_rewrite` enabled di hosting

---

## 📞 Catatan

- Format ID Undangan: `RR-XXXX` (RR = Rahmat & Rani)
- ID unik dibuat otomatis saat buat undangan baru
- Backup database secara berkala


