# Norden Web Projesi - Güncel Eksikler ve Yayın Planı

Tarih: 14 Eylül 2026  
Durum: Kod güvenliği ve yerel regresyon kapısı tamamlandı; içerik ve yayın altyapısı açık  
Kapsam: Kamu sitesi, admin paneli, içerik, güvenlik, PostgreSQL, R2, Docker, staging ve canlı yayın

Bağlantılı kayıtlar: [[08-SINEMATIK-WEB-ADMIN-VE-MEDYA-ANA-PLANI]], [[09-HOSTINGER-DOCKER-POSTGRESQL-R2-YAYIN-VE-MALIYET-PLANI]], [[10-ADMIN-2-0-KULLANIM-VE-YAYIN-GUVENLIK-PLANI]], [[11-NORDEN-MEDYA-KLASOR-VE-R2-SOZLESMESI]], [[YAYIN-KABUL-VE-GERI-DONUS-KONTROL-LISTESI]]

> [!important] Bağlayıcı durum
> Site ve admin paneli yerelde çalışıyor; bağımlılık güvenliği ve private GitHub ilk yayını tamamlandı. Tam PostgreSQL veri göçü, R2, production Docker/reverse proxy ve staging kabulü tamamlanmadan internetten production erişimi açılmaz.

## 1. Güncel doğrulama özeti

7 Eylül 2026 tarihinde güncel çalışma klasöründe doğrulanan sonuçlar:

| Kontrol | Sonuç | Kanıt özeti |
|---|---|---|
| ESLint | Geçti | Hata yok |
| TypeScript | Geçti | `npx tsc --noEmit` temiz |
| Next.js production build | Geçti | 46/46 sayfa üretildi |
| Kamu regresyonu | Geçti | 432/432 HTML ve 764 benzersiz iç hedef temiz |
| Yayın kabul matrisi | Geçti | 7 seri x 3 dil; 4 temsilî ürün tipi 12/12 rota |
| Ürün medyası | Geçti | 131 yayımlanmış ürün, 272/272 ürün görseli |
| SEO | Geçti | 12 sayfa, PDF, robots ve 432 URL sitemap; 30 katalog rotası |
| Performans bütçesi | Geçti | Altı temsilî rota ve statik/cache bütçeleri sınır içinde |
| Repo güvenlik sınırı | Geçti | İndeksteki ve yeni, ignore edilmeyen release adaylarında gerçek secret, DB, ham kaynak ve büyük yasaklı dosya yok |
| Admin RBAC | Geçti | Oturum, modül görünürlüğü, doğrudan URL, upload origin/izin, hesap kapatma ve oturum iptali kontrolleri temiz |
| Bağımlılık güvenliği | **Geçti** | Next.js 16.3.4, next-intl 4.14.2, Sharp 0.35.4, PostCSS 8.5.28 ve Prisma 7.10.0; tam ve production `npm audit` sonucu 0 açık |
| Veritabanı şema kapısı | Geçti | SQLite temiz kurulum ve 26 indeks doğrulandı; aynı modelden üretilen PostgreSQL şeması, istemcisi ve 331 satırlık ilk migration geçerli |

Prisma 7.10.0'ın güvenlik düzeltmesi yayımlanmamış iki sabit alt bağımlılığı `overrides` ile güvenli sürümlere taşındı: `deepmerge-ts` 8.0.2 ve `mysql2` 3.24.3. `prisma generate`, lint, TypeScript, production build ve tam regresyon bu çözümle yeniden geçti.

> [!warning] Test sınırı
> Yerel testlerin geçmesi canlı production onayı değildir. CDN, TLS, gerçek cihazlar, Core Web Vitals, dış saldırı yüzeyi ve geri dönüş prosedürü ancak staging/canlı ortamda doğrulanabilir.

## 2. Bağlayıcı ana plan tablosu

Durum anahtarı: `Açık` başlanmadı, `Hazır` uygulanabilir, `Bekliyor` dış karar/altyapı gerekli, `Tamamlandı` kanıtı mevcut.

| Sıra | Kod | Öncelik | İş | Güncel durum | Bağımlılık | Tamamlanma ölçütü |
|---:|---|---|---|---|---|---|
| 1 | G-01 | P0 | Next.js ve bağımlılık güvenlik güncellemesi | **Tamamlandı - 7 Eylül 2026** | Yok | Next.js güvenlik yamalı sürüme; Sharp, PostCSS ve Prisma zinciri uyumlu sürümlere yükseltilir. `npm audit --omit=dev` sıfır bilinen yüksek/kritik ile kapanır |
| 2 | G-02 | P0 | Güncelleme sonrası regresyon | **Tamamlandı - 7 Eylül 2026** | G-01 | Lint, TypeScript, build, kamu regresyonu, SEO, performans ve admin RBAC kontrolleri yeniden geçer |
| 3 | G-03 | P0 | Son görsel ve metin kabulü | **Kullanıcı: şimdilik revizyon yok — 14 Eylül 2026** | G-02 | Mevcut tasarımda yeni revizyon istenmedi. Bu turdaki EN/RU ve ülke güncellemesi ayrı kayıtlıdır; staging/canlı onayı değildir |
| 4 | G-04 | P1 | Gerçek EN/RU ürün içerikleri | **131 ürünün editoryal EN/RU içeriği uygulandı; kaynak terimi teyitleri notlandı** | İçerik sahibi | GPT-6 Astra ile Türkçe kaynak anlamı korunarak ad, açıklama ve teknik listeler hazırlandı. Türkçede boş opsiyon/aksesuar listeleri uydurulmadı. Kaynaktaki kısa model/konum etiketleri için [[PRODUCT-LOCALES-EDITORIAL-NOTES]] |
| 5 | G-05 | P1 | Gallery çeviri kapanışı | **Tamamlandı - 7 Eylül 2026** | İçerik sahibi | Beş filmde TR/EN/RU başlık ve açıklamalar; dört görselde kullanılan TR/EN/RU alt ve caption alanları eksiksiz. Görsel kayıtlarında kullanılmayan title/description alanlarının boş olması hata değildir |
| 6 | G-06 | P1 | Gerçek sertifika ve belge yayını | **Bekliyor** | Onaylı şirket belgeleri | Güncel PDF, kapsam, tarih ve görünürlük bilgileriyle yayımlanır; süresi geçmiş veya doğrulanmamış belge gösterilmez |
| 7 | G-07 | P1 | İhracat pazarı doğrulaması | **40 hedef ülke kullanıcı listesine göre uygulandı — 14 Eylül 2026** | Kullanıcı listesi | Avrupa 13, Asya/Kafkasya ve Rusya 13, Afrika 8, Amerika 6. TR/EN/RU adları ve temsili başkent noktaları hazır. Bunlar gerçekleşmiş ihracat veya bayi adresi iddiası değildir; 8 eski ülke silinmeden pasif tutuldu |
| 8 | G-08 | P1 | Katalog PDF metin kapanışı | **Kısmen tamamlandı** | Kaynak PDF | 34 sayfanın görsel render kontrolü temiz; NERO INOX çizgisi ve üç eski yazım hatası giderildi. Son sayfadaki `sales@norden-haus.com` hâlâ `info@norden-haus.com` yapılmalı. Uygulamadaki 18.065.887 byte, 34 sayfa ve 25 Ağustos 2026 değişiklik tarihi güncel |
| 9 | G-09 | P1 | Görsel kullanım caydırıcılığı | **Yerel katman tamamlandı - CDN bekliyor** | G-03, G-13 | Kamu sayfalarında sürükleme, görsel bağlam menüsü ve iOS uzun basma caydırıcılığı uygulanır; admin etkilenmez. Gerçek hotlink koruması R2/CDN'de uygulanır. Mutlak indirme engeli vaat edilmez |
| 10 | G-10 | P0 | Yerel Git kimliği ve ilk commit | **Tamamlandı - 14 Eylül 2026** | Yok | D:\Git 2.55.0.windows.5 ve kimlik doğrulandı. 469 dosyalık ilk güvenli kayıt `28180cf` (`Initial Norden catalog release baseline`) olarak oluşturuldu; gerçek `.env`, DB ve yedekler ignore edildi |
| 11 | G-11 | P0 | Private GitHub ve ilk release etiketi | **Tamamlandı; güvenlik uyarıları 15 Eylül'de güçlendirildi** | G-10 | Private `Quivermist/norden-katalog`; güvenlik düzeltmesi `dfd8c68` ve Quality Gate #7 yeşil; Dependency Graph, Dependabot zafiyet ve malware uyarıları açık; otomatik PR kapalı. İlk doğrulanmış geri dönüş etiketi `v0.1.0`. Zorunlu dal koruması mevcut kişisel/private planda uygulanmıyor |
| 12 | G-12 | P0 | PostgreSQL şema ve veri göç provası | **Tamamlandı - 14 Eylül 2026; production çalıştırması bekliyor** | G-02, yedek | PostgreSQL 17'ye tam içerik, 1 admin ve 5 audit kaydı aktarıldı; adet ve SHA-256 karşılaştırması geçti. 2 session kasıtlı dışarıda kaldı, parola değişimi zorlandı. Bkz. [[15-SQLITE-POSTGRESQL-GUVENLI-TASIMA]] |
| 13 | G-13 | P0 | Cloudflare R2 medya adaptörü | **15 Eylül: abonelik ve iki Standard bucket hazır; bağlantı bekliyor** | Alan adı/DNS yetkisi, API erişimi | `norden-public-media` ve `norden-private-backups` oluşturuldu; ikisi de boş ve public erişim kapalı. `media.norden-haus.com`, dar kapsamlı API erişimi, medya provası ve harcama uyarısı bekliyor. Bkz. [[17-GUVENLIK-DENETIMI-VE-R2-DURUMU]] |
| 14 | G-14 | P0 | Production Docker paketi | **Yerel Linux build/Compose provası tamamlandı; production uyarlaması bekliyor** | G-11, G-12, G-13 | Docker veri diski `D:\Docker\data` konumuna taşındı. Linux imajları üretildi; PostgreSQL migration/seed, web, Nginx, healthcheck, admin 403 sınırı ve yeniden başlatma sonrası veri kalıcılığı geçti. Gerçek R2, TLS, production secret'ları ve admin erişim politikası tamamlanmadan G-14 kapanmaz. Bkz. [[13-DOCKER-YEREL-PROVA-VE-KURULUM]] |
| 15 | G-15 | P0 | Secrets, proxy ve admin dış sınırı | **Uygulama kusurları ve engelleyici CSP yerelde kapatıldı; production katmanları açık** | G-14 | S-01 durum geçişi, S-02 paralel sayaç ve S-13 bcrypt 72-byte sınırı 26/26 admin kontrolünde geçti. CSP artık Report-Only değil; scriptler istek başına nonce ve `strict-dynamic` ile korunuyor. Production secret/proxy/IP, PostgreSQL paralel testi, HTTPS cookie, R2/staging CSP ve MFA kabulü gerekli. Bkz. [[17-GUVENLIK-DENETIMI-VE-R2-DURUMU]] |
| 16 | G-16 | P0 | MFA/VPN ve yönetici erişim kararı | Bekliyor | Sunucu/ağ kararı | VPN/IP allowlist uygulanır veya TOTP/WebAuthn/harici MFA seçeneği test edilerek yazılı karara bağlanır |
| 17 | G-17 | P0 | Production yedek ve restore provası | **Yerel pg_dump/restore geçti; production off-site bekliyor** | G-12, G-13 | Custom dump, SHA-256 ve ayrı PostgreSQL DB restore sayımları geçti. Şifreli günlük off-site yedek, saklama otomasyonu ve Hostinger restore provası bekliyor. Bkz. [[16-POSTGRESQL-YEDEK-VE-RESTORE-PROVASI]] |
| 18 | G-18 | P0 | Staging yayını ve güvenlik kabulü | Açık | G-14-G-17 | TR/EN/RU, admin RBAC, upload, rate limit, engelleyici CSP, TLS, başlıklar, migration ve geri dönüş senaryosu temiz geçer |
| 19 | G-19 | P0 | Gerçek cihaz ve Lighthouse kabulü | Açık | G-18 | iOS Safari, Android Chrome ve masaüstünde temel akışlar; mobil/masaüstü Lighthouse ve başlangıç CWV ölçümü kaydedilir |
| 20 | G-20 | P0 | DNS, HTTPS ve production yayını | Açık | G-18, G-19 | Alan adı, TLS, CDN/cache, robots/sitemap ve public/admin erişim politikası canlıda doğrulanır |
| 21 | G-21 | P0 | İlk 72 saat gözlem ve kapanış | Açık | G-20 | 5xx/404, upload, DB, medya, log, güvenlik ve performans izlenir; geri dönüş gerekmediyse ilk production sürümü kabul edilir |

## 3. Admin paneli için yayın sonrası genişletmeler

Bu işler ilk production yayını için zorunlu değildir; G-21 sonrasında ayrı sürümler halinde ele alınabilir.

| Kod | Öncelik | Modül | Durum | Kabul ölçütü |
|---|---|---|---|---|
| A-01 | P1 | Kategori yönetimi | Açık | Yeni ürün kategorisi kod değişmeden oluşturulur, sıralanır ve arşivlenir |
| A-02 | P1 | Sertifika ve belge yönetimi | Açık | PDF, kapsam, tarih, dil ve yayın durumu panelden yönetilir |
| A-03 | P1 | Global TR/EN/RU çeviri merkezi | Açık | Navbar, iletişim, marka hikâyesi ve eksik içerikler tek matriste görünür |
| A-04 | P1 | Seri teknik bölüm editörü | Açık | Beş teknik sahnenin metin, görsel ve güvenli animasyon presetleri yönetilir |
| A-05 | P2 | Değişiklik farkı ve kayıt bazlı geri alma | Açık | Önce/sonra farkı görünür ve yetkili kullanıcı tek kaydı geri alabilir |
| A-06 | P2 | Toplu ürün içe aktarma | Açık | CSV/klasör taslak üretir; insan onayı olmadan yayın yapmaz |

## 4. Faz geçiş kapıları

### Kapı A - Kod güvenliği

- [x] G-01 tamamlandı.
- [x] `npm audit --omit=dev` içinde bilinen yüksek/kritik kayıt yok.
- [x] Lint, TypeScript ve production build temiz.
- [x] Kamu, SEO, performans ve admin RBAC denetimleri temiz.

### Kapı B - İçerik kabulü

- [ ] Ana sayfa ve tüm temel public akışlar kullanıcı tarafından onaylandı.
- [ ] Katalog PDF son sürüm olarak doğrulandı.
- [ ] Sertifika yayın kararı ve ülke listesi şirket tarafından onaylandı.
- [ ] EN/RU için otomatik fallback kullanılacak alanlar açıkça kabul edildi veya gerçek çeviriler tamamlandı.

### Kapı C - Yayın altyapısı

- [x] Private GitHub ve geri dönüş etiketi hazır.
- [x] PostgreSQL göç provası temiz.
- [ ] PostgreSQL yedek ve restore provası temiz.
- [ ] R2 medya yükleme ve erişim testi temiz.
- [ ] Docker Compose, reverse proxy ve healthcheck temiz.
- [ ] Production secrets hiçbir kaynak, imaj veya log içinde değil.

### Kapı D - Canlı kabul

- [ ] Staging güvenlik ve işlev testleri temiz.
- [ ] Gerçek cihaz ve Lighthouse kontrolleri temiz.
- [ ] DNS, HTTPS, CDN/cache ve Search Console doğrulandı.
- [ ] İlk 72 saat izleme tamamlandı.

## 5. Bir sonraki çalışma sırası

1. G-03, G-06 ve G-08 - içerik sahibinin son kabulü.
2. G-13 - gerçek Cloudflare R2 kurulumu ve medya provası.
3. G-14 - production Docker/Compose uyarlaması.
4. G-15-G-17 - proxy, admin dış sınırı ve yedek/restore.
5. G-18-G-21 - staging, gerçek cihaz, production ve gözlem.

> [!note] Sonraki başlangıç noktası
> Teknik sıradaki dış bağımlılık G-13 için Cloudflare R2 hesabı/bucket ve G-14 sonrası için Hostinger KVM 2 sunucusudur. İçerik tarafında G-06/G-08 kullanıcı/şirket kabulü bekler.

**14 Eylül kapsam kararı (tarihsel):** Kullanıcı önce tasarım revizyonu istemedi; 40 hedef ülke ile EN/RU ürün metinleri tamamlandı. Daha sonra Git/GitHub, Docker ve PostgreSQL prova sırasına devam edilmesini açıkça istedi. PDF, sertifika ve diğer kullanıcı kabulü isteyen işler tamamlanmış sayılmaz.

**14 Eylül Git/GitHub güncellemesi:** `D:\Git\cmd\git.exe` 2.55.0.windows.5 ve ad/e-posta ayarı doğrulandı. İlk commit `28180cf` oluşturuldu. `Quivermist/norden-katalog` private GitHub deposu açıldı, `origin` bağlandı ve yerel/uzak `main` aynı commit kimliğiyle doğrulandı. Aşağıdaki 13 Eylül tarihli “kimlik yok” notu tarihsel durumdur.

**14 Eylül Docker prova durumu:** Docker Desktop, Linux motoru, Compose ve WSL 2 çalışır durumda. Program ve ana container/image veri diski D sürücüsündedir. `.env.docker` güvenli yerel prova değerleriyle oluşturuldu. Linux build, PostgreSQL 17 migration/seed, web, Nginx, healthcheck, admin 403 sınırı ve yeniden başlatma sonrası volume kalıcılığı geçti. Bu sonuç production R2/TLS/secrets kabulü değildir; tam SQLite-admin göç provası aşağıdaki ayrı güncellemede tamamlanmıştır.

**14 Eylül CI ve veri göçü güncellemesi:** GitHub Quality Gate `ece1fd7` üzerinde yeşil tamamlandı ve `v0.1.0` etiketi private remote'a gönderildi. Yalıtılmış PostgreSQL 17 hedefinde tam SQLite içerik + admin/RBAC aktarımı adet ve SHA-256 karşılaştırmasıyla geçti; eski session/login-attempt kayıtları taşınmadı. Production import ve restore kabulü henüz yapılmadı.

## 6. 13 Eylül 2026 çalışma notu

- G-10: Kullanıcı adı/e-posta ve remote hâlâ tanımlı değil; kimlik uydurulmadı. İlk commit için kullanıcı bilgisi bekleniyor.
- G-14: Mevcut yerel veriye dokunmadan Docker prova paketi hazırlandı; ayrıntı ve komutlar [[13-DOCKER-YEREL-PROVA-VE-KURULUM]] içinde. Docker komutu bu makinede bulunmadığından container testleri henüz yapılmadı.
- Obsidian güncel takip hedefi: `D:\Case\SHIELD\Norden Katalog\guncel-planlar`. Eski `kaynak`, `dokumantasyon` ve hash manifesti tarihsel yedektir; güncel durumla karıştırılmamalıdır.
- 7 Eylül tablosundaki kapsamlı testler tarihsel kanıttır; bu not onların 13 Eylül'de tamamının tekrar çalıştırıldığı anlamına gelmez.
- 13 Eylül: standalone build/TypeScript, uygulama ve health 200/503 smoke testleri, yedi seri/üç dil yayın kabulü ve altı rota performans bütçesi geçti. Linux container ve gerçek PostgreSQL aktarımı bu testlerin kapsamında değildir.
