# ideal.iqmetaversity.com — Kurulum / Deployment

IQ Universitas 3.0 tamamen statik bir PWA'dır: herhangi bir statik hosting'e yüklenir ve DNS'te bir CNAME ile bağlanır. Backend olmadan demo modunda çalışır.

## 1. Dosyaları yayımla (üç seçenekten biri)

**Cloudflare Pages / Netlify / Vercel** — bu klasörü "site root" olarak yükleyin (build komutu yok, çıktı dizini `/`). Netlify için `netlify.toml`, Vercel için `vercel.json` hazırdır (SPA + `.well-known` + `status/` MIME ayarları).

**Mevcut sunucu (nginx)** — klasörü `/var/www/ideal` altına kopyalayın ve örnek `deploy/nginx.conf` bloğunu ekleyin (HTTPS zorunlu: did:web ve service worker HTTPS ister).

**GitHub Pages** — repo'ya koyun, Pages'i açın; `CNAME` dosyasına `ideal.iqmetaversity.com` yazın.

## 2. DNS (iqmetaversity.com paneli)

| Tür | Ad | Değer |
|---|---|---|
| CNAME | `ideal` | hosting hedefi (örn. `iq-universitas.pages.dev`, `xyz.netlify.app`, `cname.vercel-dns.com`, `<user>.github.io`) |

Yayılma sonrası `https://ideal.iqmetaversity.com/.well-known/did.json` adresinin JSON döndürdüğünü doğrulayın (did:web çözümlemesi bu dosyaya bağlıdır).

## 3. Yapılandırma (`config.js`)
- `mode`: `demo` | `supabase` | `live`
- `API_BASE`: canlı backend adresi (örn. `https://api.ideal.iqmetaversity.com`)
- `CAMPUS_ORIGIN`: `https://nexus.iqmetaversity.com` (gömülü kampüs)
- `SUPABASE_URL` / `SUPABASE_ANON_KEY`: Supabase modu için (AB bölgesi önerilir, RLS zorunlu)
- `ANCHOR_CHAIN_ID` / `ANCHOR_CONTRACT`: anchor hizmeti için (ön yüz işlem göndermez)

## 4. Kurumsal anahtar (G1)
1. credentials hizmetinde ES256 (P-256) anahtar çifti üretin; özel anahtar yalnızca sunucuda kalır.
2. Açık anahtarın JWK değerini `.well-known/did.json` içindeki `publicKeyJwk` alanına yazın (`x`, `y`).
3. `status/draft` dosyasını hizmetin ürettiği Bitstring listesiyle değiştirin.

## 5. Kontrol listesi
- [ ] `https://ideal.iqmetaversity.com/` açılıyor, dil/tema değişiyor, ⌘K mega menü çalışıyor
- [ ] `#account` → anonim kimlik oluşturuluyor; `#programs` → kayıt; `#dashboard` → VC düzenleme ve doğrulama
- [ ] `#web3` → CID, özet/çapa yükü, durum listesi, EDC dışa aktarım
- [ ] `#charter` → öneri ve oylama kaydı
- [ ] Lighthouse: PWA yüklenebilir, erişilebilirlik ≥ 95
- [ ] Ana sitenin (www.iqmetaversity.com) shell ekosistem menüsüne "IQ Universitas · İdeal Üniversite" bağlantısını ekleyin (shell/shell.js ECO listesi)

## 6. Yerel çalıştırma
```
python3 -m http.server 8080   # veya npx serve .
```
`file://` ile açmayın (service worker ve fetch için HTTP gerekir).
