🚀 Gelişmiş Mağaza Arayüzü Özellikleri (Next.js 16)
Mağazanın ön yüz projesi, hızlı oluşturmanın (rendering) yanı sıra, kurumsal (Enterprise) düzeye hazırlayan mobil kurulum, profesyonel SEO ve siber güvenlik gibi son derece gelişmiş özellikler içerir.
📱 PWA ve Çevrimdışı Mod Desteği
Mağaza, bir Progresif Web Uygulaması (Progressive Web App - PWA) olarak yapılandırılmıştır. Bu sayede mobil kullanıcılar (Android ve iOS), siteyi tıpkı yerel bir mobil uygulama gibi doğrudan telefonlarına yükleyebilirler.
- Yapılandırma: store/next.config.js dosyasında @ducanh2912/next-pwa eklentisi kullanılarak yönetilir.
- Dinamik Manifest: store/src/app/manifest.ts dosyası simge bilgilerini, tema renklerini ve uygulama adını dinamik olarak üretir.
- Çevrimdışı Mod (Yedek Çözüm - Fallback): Kullanıcının internet bağlantısı kesilirse, Service Worker kullanıcıyı otomatik olarak özel ~offline/page.tsx sayfasına yönlendirir.
Geliştirici Notu
🔒 Sıkı Güvenlik Başlıkları (Security Headers)
Kod enjeksiyonu (XSS) ve Clickjacking gibi yaygın web saldırılarına karşı korunmak için güvenlik başlıkları Next.js üzerinden global olarak eklenir:
async headers() { return [ { source: '/(.*)', headers: [ { key: 'Strict-Transport-Security', value: 'max-age=63072000; includeSubDomains; preload' }, { key: 'X-XSS-Protection', value: '1; mode=block' }, { key: 'X-Frame-Options', value: 'SAMEORIGIN' }, { key: 'X-Content-Type-Options', value: 'nosniff' }, { key: 'Content-Security-Policy', value: "default-src 'self'; ..." } ], }, ];}🕷️ Dinamik SEO ve Çok Uluslu Site Haritası (Sitemap)
Site haritasını manuel güncellemek yerine, sitemap.ts dosyası Google için en eksiksiz site haritasını oluşturmak üzere arka uç mikro servisleriyle eşzamanlı (Concurrent) iletişim kurar.
Site haritası oluşturma adımları:
- Statik Sayfalar: Hakkımızda ve iletişim gibi rotaları tüm aktif ülkeler (Bölgeler / Regions) için döngüye alma.
- Ürünleri Çekme (Medusa): Medusa veritabanına bağlanarak son güncelleme tarihiyle birlikte tüm ürünlerin listesini alma.
- Makaleleri Çekme (Strapi): CMS ile iletişim kurarak yayınlanan tüm makalelerin bağlantılarını ekleme.