2.9 KiB
BÖLÜM 1: Ürün Gereksinim Dokümanı (PRD)
-
Proje Vizyonu Kullanıcının siteye girdiği an Bodrum'un turkuaz sularını ve beyaz mimarisini hissedeceği, "nefes alan", ultra hızlı ve güvenli bir dijital Resort deneyimi.
-
Sayfa Yapısı ve Akış (Fresh Design) A. Global Elements (Tüm Sayfalar) Navbar: Şeffaf (Glassmorphism), üzerine gelince hafifçe beyazlaşan. Logo sol, menü orta, sağ tarafta dil seçici (TR|EN|DE) ve "Rezervasyon Yap" butonu.
Floating Booking Bar: Sayfanın en altında sabit duran, mobil uyumlu, tarih ve kişi seçip dış linke atan minimal bar.
B. Landing Page (Giriş) Immersive Hero: Ekranı kaplayan, Cloudinary'den optimize edilmiş, ağır çekim deniz ve sahil videosu. Üzerinde sadece: "Ege'nin Kalbinde Mükemmel Bir Kaçış" (The Perfect Escape in the Heart of the Aegean).
Experience Grid: Dört ana bölümün (Rooms, Dining, Spa, Beach) büyük, kare, hafif yuvarlak köşeli kartlar halinde sunumu. Resimlerin üzerine gelince turkuaz bir filtre ve "Keşfet" yazısı belirir.
The Legend (Salmakis Efsanesi): Sayfanın ortasında, bol beyaz boşlukla (whitespaces) çevrili, hikayeyi anlatan sanatsal bir metin bloğu.
Official Website Badge: Sahte sitelere karşı uyarıyı, "Salmakis Resort & Spa Resmi Web Sitesi Güvencesi" başlığıyla, sayfanın altına şık bir mühür veya ikon olarak ekleyerek güven veriyoruz.
C. Accommodation (Konaklama) Rooms List: Odaların yan yana dikey (portrait) kartlar halinde listelenmesi (Eski sitenin yatay kutu yapısı yerine).
Oda Özellikleri: .ts dosyasından çekilen ikonik özellikler (WiFi, Manzara, Balkon, Safe).
D. SPA Center Fresh vibe'a uygun, aydınlık, beyaz mermer ve masaj deneyimi odaklı devasa fotoğraflar.
- Teknik Mimari (TypeScript & Cloudinary) Cloudinary Optimize: Sitedeki tüm görseller .jpg olarak yüklenecek ama URL'lerine f_auto,q_auto,w_auto parametreleri Next.js Image bileşeni veya bir helper fonksiyonu ile eklenecek.
Data Structure (src/data/resort.ts): SQL yerine veri bu dosyada tutulacak.
TypeScript // src/data/resort.ts export interface Room { slug: string; name: { tr: string; en: string; de: string }; description: { tr: string; en: string; de: string }; features: string[]; // ['sea_view', 'balcony', 'minibar'] // Sadece Cloudinary Public ID'si tutulacak (Format ve optimizasyon URL'de yapılacak) mainImageId: string; // 'resort/rooms/standard_sea_view_main' }
export const resortData = { // Global Güvenlik Notu securityBadge: { tr: "Resmi Web Sitesi Güvencesi", en: "Official Website Protection", de: "Offizieller Website-Schutz" }, rooms: [ { slug: "deluxe-room", name: { tr: "Deluxe Oda", en: "Deluxe Room", de: "Deluxe Zimmer" }, description: { tr: "Maviye uyanmanın en şık yolu...", en: "Meeting comfort and elegance." }, features: ["WiFi", "TV", "Safe Box"], mainImageId: "salmakis/rooms/deluxe_room_1" }, // Diğer odalar... ] }