# Panduan Instalasi Lengkap — StarCustomPrinting

> **Untuk pembeli yang tidak familiar dengan terminal/command line.**  
> Instalasi utama dilakukan lewat **wizard browser** di `/install` — tidak perlu ketik perintah artisan.

---

## Ringkasan 3 langkah

| # | Apa yang dilakukan | Butuh terminal? |
|---|-------------------|-----------------|
| 1 | Upload & extract zip ke server | Tidak (pakai File Manager / FTP) |
| 2 | Arahkan domain ke folder `public/` | Tidak (setting di cPanel) |
| 3 | Buka `https://domain.com/install` | **Tidak** — wizard di browser |

---

## Daftar isi panduan

| File | Untuk siapa |
|------|-------------|
| [03-INSTAL-CPANEL.md](03-INSTAL-CPANEL.md) | Pengguna cPanel, Niagahoster, Hostinger, Rumahweb |
| [04-INSTAL-VPS.md](04-INSTAL-VPS.md) | VPS Ubuntu + Nginx/Apache |
| [05-CRON-JOB.md](05-CRON-JOB.md) | Setup cron (wajib) |
| [06-KONFIGURASI-TRIPAY.md](06-KONFIGURASI-TRIPAY.md) | Payment gateway Tripay |
| [07-TROUBLESHOOTING.md](07-TROUBLESHOOTING.md) | Solusi error umum |
| [panduan-instalasi.html](panduan-instalasi.html) | Versi HTML (buka di browser) |

---

## Persyaratan hosting

### Wajib

- **PHP 8.2 atau 8.3** (tidak support PHP 7.x)
- Ekstensi: `openssl`, `pdo`, `mbstring`, `tokenizer`, `xml`, `json`, `bcmath`, `fileinfo`, `curl`
- **Salah satu:** PDO SQLite **atau** PDO MySQL
- Folder `storage/` dan `bootstrap/cache/` bisa ditulis (writable)
- **HTTPS** disarankan (SSL gratis di cPanel / Let's Encrypt)

### Sudah disertakan di zip FULL

- Folder **`vendor/`** — library PHP Laravel sudah lengkap  
  → **Tidak perlu** install Composer / `composer install`

### Tidak wajib

- Node.js / npm (UI pakai Tailwind CDN)
- Composer (kecuali paket lite tanpa vendor)

---

## Wizard instalasi — penjelasan per langkah

### Langkah 1: Cek server

Wizard otomatis mengecek PHP, ekstensi, dan permission folder.

- **Hijau (✓)** = OK, lanjut
- **Merah (✗)** = harus diperbaiki dulu (hubungi support hosting atau baca troubleshooting)
- **Kuning (!)** = PDO SQLite/MySQL — minimal **satu** harus aktif

### Langkah 2: Database

#### Opsi A — SQLite (disarankan pemula)

- Tidak perlu buat database di cPanel
- File database otomatis dibuat di `database/database.sqlite`
- Cocok: toko kecil, demo, shared hosting entry-level

#### Opsi B — MySQL / MariaDB

1. Login cPanel → **MySQL Databases**
2. Buat database baru, misal `username_starcustom`
3. Buat user MySQL + password
4. **Add User To Database** → ALL PRIVILEGES
5. Isi data di wizard → klik **Tes koneksi** → harus hijau "berhasil"

### Langkah 3: Toko & admin

| Field | Contoh |
|-------|--------|
| Nama toko | Toko Kaos Custom Saya |
| URL website | `https://tokosaya.com` (harus https jika sudah ada SSL) |
| Email admin | email Anda yang valid |
| Password admin | min. 8 karakter — **simpan baik-baik!** |

### Langkah 4: Instal

Klik **Instal sekarang**. Proses 10–60 detik:

- Membuat file `.env`
- Migrate database + seed produk demo
- Membuat akun admin Anda
- Cache konfigurasi

Selesai → redirect ke halaman **Login**.

---

## Setelah instalasi

1. **Login** → `https://domain.com/login`
2. **Admin panel** → `https://domain.com/admin`
3. **Pengaturan toko** → Admin → Pengaturan
4. **Cron job** → wajib, lihat [05-CRON-JOB.md](05-CRON-JOB.md)
5. **Tripay** → lihat [06-KONFIGURASI-TRIPAY.md](06-KONFIGURASI-TRIPAY.md)

---

## Reinstall / pindah server

1. Backup folder `storage/app/public` (upload gambar) dan `database/database.sqlite` (jika SQLite)
2. Hapus file `storage/app/installed`
3. Hapus atau kosongkan `.env`
4. Upload ulang → buka `/install` lagi

---

## Dua versi paket zip

| File zip | Isi vendor | Untuk siapa |
|----------|------------|-------------|
| `starcustomeprinting-full.zip` | ✅ Ya | **Pembeli umum** — tanpa Composer |
| `starcustomeprinting-source.zip` | ❌ Tidak | Developer — jalankan `composer install` |

Anda seharusnya memakai paket **FULL**.

---

## Butuh bantuan?

1. Baca [07-TROUBLESHOOTING.md](07-TROUBLESHOOTING.md)
2. Kirim screenshot error + info hosting (cPanel/VPS, PHP version) ke penjual lisensi
