# 🚀 QUICK DEPLOYMENT STEPS - QC Suwastama

## Server Info
- **Domain:** https://qc.suwastama.com/
- **Database:** ratz2143_qc
- **DB User:** ratz2143_qc
- **DB Pass:** Suwastama97

---

## ⚡ LANGKAH CEPAT

### 1️⃣ PREPARE FILES (Di Local)

Sudah tersedia:
- ✅ `.env.production` - Konfigurasi production
- ✅ `database_structure.sql` - Struktur database
- ✅ `database_users_roles.sql` - Data users & roles
- ✅ `DEPLOYMENT_GUIDE.md` - Panduan lengkap

### 2️⃣ UPLOAD KE SERVER

**Via FTP/cPanel File Manager:**

Upload semua file dari folder `codeigniter4/` ke server:
```
Local: c:\xampp\htdocs\qc\codeigniter4\
Server: /home/ratz2143/qc_app/
```

**File yang harus di-upload:**
- [ ] Folder `app/`
- [ ] Folder `public/`
- [ ] Folder `system/`
- [ ] Folder `vendor/`
- [ ] Folder `writable/`
- [ ] File `.env.production` → rename jadi `.env`

### 3️⃣ SETUP DOCUMENT ROOT

**Option A: Set Document Root (Recommended)**
- Login cPanel
- Domains → qc.suwastama.com
- Document Root: `/home/ratz2143/qc_app/public`
- Save

**Option B: Move public files**
- Upload isi folder `public/` ke `public_html/`
- Edit `public_html/index.php`, sesuaikan path

### 4️⃣ IMPORT DATABASE

**Via phpMyAdmin:**
1. Login phpMyAdmin
2. Pilih database `ratz2143_qc`
3. Import → Choose File → `database_structure.sql`
4. Import → Choose File → `database_users_roles.sql`
5. Done!

**Via MySQL Command (jika ada SSH):**
```bash
mysql -u ratz2143_qc -p ratz2143_qc < database_structure.sql
mysql -u ratz2143_qc -p ratz2143_qc < database_users_roles.sql
```

### 5️⃣ SET PERMISSIONS

**Via File Manager:**
- Klik kanan folder → Change Permissions
  - `writable/` → 755
  - `writable/cache/` → 755
  - `writable/logs/` → 755
  - `writable/session/` → 755
  - `public/uploads/` → 755

**Via Terminal/SSH:**
```bash
cd /home/ratz2143/qc_app
chmod -R 755 writable/
chmod -R 755 public/uploads/
```

### 6️⃣ EDIT .ENV

Pastikan file `.env` berisi:
```ini
CI_ENVIRONMENT = production

app.baseURL = "https://qc.suwastama.com/"
app.forceGlobalSecureRequests = true

database.default.hostname = localhost
database.default.database = ratz2143_qc
database.default.username = ratz2143_qc
database.default.password = Suwastama97
database.default.DBDriver = MySQLi
database.default.port = 3306
```

### 7️⃣ TEST

1. **Akses website:** https://qc.suwastama.com/
2. **Login:** Gunakan user yang sudah ada
3. **Test menu:** Dashboard, Products, Quotations, Inspections
4. **Test upload:** Upload foto di inspection

---

## 🆘 TROUBLESHOOTING CEPAT

| Error | Solusi |
|-------|--------|
| **500 Error** | Permission `writable/` → 755 atau 777 |
| **Database connection failed** | Cek `.env`, pastikan hostname/user/pass benar |
| **404 Not Found** | Pastikan Document Root ke `/public` |
| **Upload gagal** | Permission `public/uploads/` → 755 atau 777 |
| **Logout terus** | Permission `writable/session/` → 777 |

**Cek Error Log:**
- cPanel: Error Log menu
- File: `writable/logs/log-YYYY-MM-DD.log`

---

## 📋 FINAL CHECKLIST

- [ ] Semua file uploaded
- [ ] Database imported
- [ ] File .env configured
- [ ] Permissions set
- [ ] Website accessible: https://qc.suwastama.com/
- [ ] Login works
- [ ] Upload works
- [ ] Quotation works
- [ ] Inspection works

---

## 🎉 SELESAI!

Jika semua checklist ✅, aplikasi QC sudah live di production!

**Default Users:**
- Check di database tabel `users` untuk list user yang ada
- Password yang sudah di-set sebelumnya

**Need Help?**
- Baca `DEPLOYMENT_GUIDE.md` untuk detail lengkap
- Check error logs di `writable/logs/`
