# LetsGoCappadocia Seyahat Planlama Uygulaması - SaaS Seviyesi Admin Paneli Gereksinimleri

## 1. Uygulama Bilgileri

### 1.1 Uygulama Adı
LetsGoCappadocia Seyahat Planlama Uygulaması

### 1.2 Uygulama Açıklaması
Kapadokya'ya özel, modern ve kullanıcı dostu bir seyahat planlama web uygulaması. Kullanıcılar Kapadokya için detaylı seyahat planları oluşturabilir, kaya kiliselerinden peribacalarına, sıcak hava balonu turlarından yeraltı şehirlerine kadar tüm deneyimlerini planlayabilir. Full-Stack Admin paneli ile tüm sistem özellikleri yönetilebilir. Yerel hizmet sağlayıcılar (Provider) için özel dashboard ile lead yönetimi ve satın alma sistemi. Kapsamlı SEO yönetimi ile arama motoru optimizasyonu sağlanır. Güvenlik odaklı mimari ile Supabase query injection ve diğer güvenlik açıklarına karşı korumalıdır. Kullanıcı bazlı rate limiting sistemi ile API kötüye kullanımı önlenir. Memory leak sorunları giderilmiş, performans optimize edilmiştir. SyncedViews component ile Map ve Timeline görünümleri arasında senkronizasyon sağlanır. Zustand ile merkezi state management sistemi kullanılarak Context Hell sorunu çözülmüş, 7 farklı Context tek bir store'a dönüştürülmüştür. Selector pattern ile gereksiz re-render'lar önlenmiş, performans optimize edilmiştir. useTripData custom hook ile trip veri yönetimi optimize edilmiş, otomatik cache, error recovery ve optimistic updates özellikleri eklenmiştir. useTripPlaces, useTripDragDrop, useTripSearch ve useTripEvents custom hooks ile TripPlanner sayfası modüler ve performanslı hale getirilmiştir. LoadingStates component ile tüm yükleme durumları merkezi olarak yönetilir, kullanıcı deneyimi iyileştirilir. useLoadingState hook ile state yönetimi, transition logic, auto-clear timeout, manual override ve progress tracking özellikleri sağlanır. Error Handler utility ile tüm hata yönetimi merkezi olarak yapılır, kullanıcı dostu mesajlar gösterilir ve hata kurtarma önerileri sunulur. Mobile Drag & Drop desteği ile mobil cihazlarda dokunmatik ekran optimizasyonu, long-press detection, haptic feedback ve touch-friendly UI sağlanır. Touch-Optimized Leaflet Map component ile mobil cihazlarda 44px minimum hit area, touch event handling, click vs drag detection, mobile-friendly popups ve zoom on marker click özellikleri sunulur. AddPlaceWizard component ile multi-step wizard, step indicators, form validation, preview before confirm ve back/next buttons özellikleri sağlanır. useUndoRedo hook ile history state management, undo/redo logic, history limit ve local storage persistence özellikleri sunulur. Validation Schemas ile Zod tabanlı type-safe veri doğrulama, Türkçe hata mesajları ve custom validators sağlanır. Trip Planner sayfası 3 panel layout kullanır: DayLine (Sol), Timeline (Orta, flex-1) ve Map (Sağ, 40%). Üyeliksiz (anonymous) kullanıcılar seyahat planı oluşturabilir. Otomatik tour assignment sistemi ile seyahat planı oluşturulduğunda Red/Green/Blue tour önerileri yapılır. Database N+1 Query Problem çözülmüş, Supabase join ile tek query'de tüm veri yüklenir, sayfa yüklenme süresi 3-5 saniyeden 0.5 saniyeye düşürülmüştür. TypeScript Tür Güvenliği sistematik olarak iyileştirilmiş, 448 adet any kullanımı kaldırılmış, strict type checking ile çalışma zamanı hataları önlenmiş, IDE autocomplete desteği tam olarak sağlanmıştır. Kapadokya Kuralları (/src/config/cappadocia-rules.ts) dosyasında mevcut ve tam olarak aktive edilmiştir, yer ekleme mantığı Kapadokya'ya özel kısıtlamalara tam uyumlu hale getirilmiştir. Destinasyon Kapadokya'ya sabitlenmiştir, kullanıcılar sadece Kapadokya için seyahat planı oluşturabilir. DayLine paneli genişliği yarı yarıya azaltılmış, Timeline panelinde yer görselleri görüntülenmektedir. OpenAI API ve MapTiler harita kütüphanesi kullanılarak ziyaretçilere kişiselleştirilmiş Kapadokya rotaları oluşturulur, rotalar haritada gösterilir, haritadan rotaya yer ekleme ve çıkarma işlemleri yapılabilir. Journal sayfası kullanıcının gerçek seyahat verilerine dayalı olarak günlük girişlerini gösterir. Clerk.com kimlik doğrulama sistemi entegre edilmiştir, Supabase Auth yerine Clerk kullanılmaktadır. Admin panelinde API anahtarlarını yönetebileceğiniz özel bir ayarlar bölümü bulunmaktadır. Persona Engine ile lead'ler otomatik olarak turist profillerine göre sınıflandırılır, harcama potansiyeli ve önerilen hizmetler belirlenir. Persona bazlı dinamik fiyatlandırma sistemi ile lead fiyatları harcama potansiyeline göre otomatik olarak ayarlanır. Admin panelinde persona bazlı filtreleme ve sıralama özellikleri ile lead yönetimi optimize edilmiştir. Akıllı Hava Durumu Tahmin Sistemi ile planner oluşturulduğunda ziyaretçinin seçmiş olduğu tarihlerin geçmiş 5 yıllık verileri analiz edilerek akıllı bir hava durumu tahmini sunulur.

## 2. SaaS Seviyesi Admin Paneli Gereksinimleri

### 2.1 Admin Paneli Genel Yapısı

#### 2.1.1 Layout Bileşenleri

**Admin Header:**
- Logo ve uygulama adı
- Global arama çubuğu (kullanıcılar, lead'ler, içerik arama)
- Bildirim merkezi (sistem bildirimleri, yeni lead'ler, kullanıcı aktiviteleri)
- Hızlı eylemler menüsü
- Admin profil dropdown (profil ayarları, çıkış)
- Tema değiştirici (açık/koyu mod)

**Admin Sidebar:**
- Kategorize edilmiş menü yapısı
- Aktif sayfa göstergesi
- Daraltılabilir/genişletilebilir menü
- Menü arama özelliği
- Favori sayfalar hızlı erişim

**Admin Footer:**
- Telif hakkı bilgisi
- Versiyon numarası
- Sistem durumu göstergesi (API health, database status)
- Hızlı linkler (dokümantasyon, destek, gizlilik politikası)
- Son güncelleme zamanı

#### 2.1.2 Menü Kategorileri

**1. Dashboard (Ana Sayfa)**
- Genel istatistikler ve KPI'lar
- Grafik ve raporlar
- Son aktiviteler
- Hızlı eylemler

**2. İçerik Yönetimi**
- Yerler (Places) yönetimi
- Turlar (Tours) yönetimi
- Blog yazıları yönetimi
- Medya kütüphanesi
- Kategoriler ve etiketler

**3. Kullanıcı Yönetimi**
- Kullanıcı listesi
- Kullanıcı rolleri ve izinler
- Kullanıcı aktivite logları
- Kullanıcı segmentasyonu

**4. Lead Yönetimi**
- Lead listesi ve filtreleme
- Persona bazlı sınıflandırma
- Lead fiyatlandırma
- Lead satış raporları
- Provider atamaları

**5. Provider Yönetimi**
- Provider listesi
- Provider onay süreci
- Provider performans raporları
- Komisyon ayarları

**6. Seyahat Planları**
- Tüm seyahat planları listesi
- Plan detayları ve düzenleme
- Plan şablonları
- Plan istatistikleri

**7. SEO Yönetimi**
- Meta tag yönetimi
- Sitemap yönetimi
- Robots.txt düzenleme
- SEO analiz raporları
- Anahtar kelime takibi

**8. Site Ayarları**
- Genel ayarlar
- Header/Footer düzenleme
- Menü yönetimi
- Sosyal medya linkleri
- İletişim bilgileri

**9. Tasarım Yönetimi**
- Tema ayarları
- Renk paleti düzenleme
- Tipografi ayarları
- Logo ve favicon yönetimi
- CSS özelleştirme

**10. API ve Entegrasyonlar**
- API anahtarları yönetimi
- Webhook yapılandırması
- Üçüncü parti entegrasyonlar
- API kullanım istatistikleri

**11. Güvenlik**
- Rate limiting ayarları
- IP whitelist/blacklist
- Güvenlik logları
- 2FA ayarları
- Şüpheli aktivite raporları

**12. Raporlar ve Analitik**
- Kullanıcı analitikleri
- Gelir raporları
- Trafik analizi
- Dönüşüm oranları
- Özel rapor oluşturma

**13. Bildirimler**
- E-posta şablonları
- Push notification ayarları
- SMS ayarları
- Bildirim kuralları

**14. Sistem Yönetimi**
- Veritabanı yönetimi
- Cache yönetimi
- Log görüntüleme
- Sistem sağlık kontrolü
- Backup ve restore

### 2.2 Dashboard (Ana Sayfa)

#### 2.2.1 KPI Kartları
- Toplam kullanıcı sayısı (günlük/haftalık/aylık değişim)
- Aktif seyahat planı sayısı
- Toplam lead sayısı ve değeri
- Gelir istatistikleri
- Dönüşüm oranları
- Ortalama plan değeri

#### 2.2.2 Grafikler ve Görselleştirmeler
- Kullanıcı büyüme grafiği (zaman serisi)
- Lead dağılım grafiği (persona bazlı)
- Gelir trendi grafiği
- Popüler yerler haritası
- Trafik kaynakları pasta grafiği
- Dönüşüm hunisi

#### 2.2.3 Son Aktiviteler
- Yeni kayıtlar
- Yeni lead'ler
- Yeni seyahat planları
- Sistem bildirimleri
- Kritik hatalar

#### 2.2.4 Hızlı Eylemler
- Yeni yer ekle
- Yeni blog yazısı oluştur
- Lead'leri dışa aktar
- Rapor oluştur
- Sistem bakımı

### 2.3 İçerik Yönetimi

#### 2.3.1 Yerler (Places) Yönetimi

**Liste Görünümü:**
- Tablo formatında yer listesi
- Filtreleme (kategori, durum, popülerlik)
- Sıralama (isim, tarih, görüntülenme)
- Toplu işlemler (aktif/pasif, silme)
- Arama özelliği
- Sayfalama

**Yer Ekleme/Düzenleme:**
- Yer adı (Türkçe/İngilizce)
- Açıklama (zengin metin editörü)
- Kategori seçimi
- Konum (harita üzerinde işaretleme)
- Görseller (çoklu yükleme, sürükle-bırak)
- Çalışma saatleri
- Giriş ücreti
- İletişim bilgileri
- SEO ayarları (meta title, description, keywords)
- Durum (yayında/taslak)
- Öne çıkan yer işaretleme

**Medya Yönetimi:**
- Görsel galerisi
- Görsel düzenleme (kırpma, döndürme)
- Alt text ekleme
- Görsel sıralama
- Toplu görsel yükleme

#### 2.3.2 Turlar (Tours) Yönetimi

**Liste Görünümü:**
- Tur listesi (Red/Green/Blue)
- Filtreleme ve sıralama
- Durum göstergesi
- Hızlı düzenleme

**Tur Ekleme/Düzenleme:**
- Tur adı ve renk kodu
- Tur açıklaması
- Dahil edilen yerler (sürükle-bırak sıralama)
- Süre ve mesafe
- Fiyat bilgisi
- Önerilen sezon
- Görseller
- SEO ayarları

#### 2.3.3 Blog Yönetimi

**Liste Görünümü:**
- Blog yazıları listesi
- Filtreleme (kategori, yazar, durum)
- Arama
- Toplu işlemler

**Blog Yazısı Ekleme/Düzenleme:**
- Başlık (Türkçe/İngilizce)
- İçerik (zengin metin editörü, Markdown desteği)
- Öne çıkan görsel
- Kategori ve etiketler
- Yazar bilgisi
- Yayın tarihi (zamanlama)
- SEO ayarları
- İlgili yerler/turlar
- Sosyal medya paylaşım önizlemesi

#### 2.3.4 Medya Kütüphanesi

**Özellikler:**
- Tüm medya dosyaları merkezi yönetim
- Klasör yapısı
- Dosya arama ve filtreleme
- Toplu yükleme
- Görsel düzenleme araçları
- Dosya bilgileri (boyut, format, yüklenme tarihi)
- Kullanım yerleri gösterimi
- CDN entegrasyonu

#### 2.3.5 Kategoriler ve Etiketler

**Kategori Yönetimi:**
- Hiyerarşik kategori yapısı
- Kategori ekleme/düzenleme/silme
- Kategori görseli
- SEO ayarları
- Kategori sıralaması

**Etiket Yönetimi:**
- Etiket listesi
- Etiket birleştirme
- Kullanım istatistikleri
- Toplu işlemler

### 2.4 Kullanıcı Yönetimi

#### 2.4.1 Kullanıcı Listesi

**Liste Görünümü:**
- Kullanıcı tablosu
- Filtreleme (rol, durum, kayıt tarihi)
- Arama (isim, email, ID)
- Sıralama
- Toplu işlemler (aktif/pasif, rol değiştirme)
- Dışa aktarma (CSV, Excel)

**Kullanıcı Detayları:**
- Profil bilgileri
- İletişim bilgileri
- Kayıt tarihi ve son giriş
- Oluşturulan seyahat planları
- Aktivite geçmişi
- Lead geçmişi (eğer provider ise)
- Notlar ve etiketler

#### 2.4.2 Kullanıcı Rolleri ve İzinler

**Rol Yönetimi:**
- Rol listesi (Admin, Provider, User)
- Yeni rol oluşturma
- Rol düzenleme
- İzin matrisi

**İzin Kategorileri:**
- Dashboard erişimi
- İçerik yönetimi (okuma, yazma, silme)
- Kullanıcı yönetimi
- Lead yönetimi
- Sistem ayarları
- Raporlar
- API erişimi

#### 2.4.3 Kullanıcı Aktivite Logları

**Log Görünümü:**
- Aktivite listesi (zaman damgası, kullanıcı, eylem)
- Filtreleme (kullanıcı, eylem tipi, tarih aralığı)
- Detaylı log görüntüleme
- Dışa aktarma

**Takip Edilen Aktiviteler:**
- Giriş/çıkış
- İçerik oluşturma/düzenleme/silme
- Ayar değişiklikleri
- API çağrıları
- Başarısız giriş denemeleri

#### 2.4.4 Kullanıcı Segmentasyonu

**Segment Oluşturma:**
- Filtre bazlı segmentasyon
- Davranış bazlı segmentasyon
- Demografik segmentasyon
- Segment kaydetme ve yeniden kullanma

**Segment Kullanımı:**
- Hedefli bildirimler
- Özel kampanyalar
- Analiz ve raporlama

### 2.5 Lead Yönetimi

#### 2.5.1 Lead Listesi

**Liste Görünümü:**
- Lead tablosu (ID, kullanıcı, persona, değer, durum)
- Filtreleme (persona, durum, tarih, fiyat aralığı)
- Sıralama (tarih, değer, persona)
- Arama
- Toplu işlemler
- Dışa aktarma

**Lead Detayları:**
- Kullanıcı bilgileri
- Seyahat planı detayları
- Persona sınıflandırması
- Harcama potansiyeli
- Önerilen hizmetler
- Fiyatlandırma geçmişi
- Provider atamaları
- İletişim geçmişi
- Notlar

#### 2.5.2 Persona Bazlı Yönetim

**Persona Kategorileri:**
- Luxury Traveler
- Adventure Seeker
- Cultural Explorer
- Budget Traveler
- Family Traveler

**Persona Özellikleri:**
- Harcama potansiyeli
- İlgi alanları
- Önerilen hizmetler
- Dinamik fiyatlandırma kuralları

#### 2.5.3 Lead Fiyatlandırma

**Fiyatlandırma Yönetimi:**
- Persona bazlı fiyat tablosu
- Dinamik fiyatlandırma kuralları
- Sezonsal fiyat ayarlamaları
- Toplu fiyat güncelleme
- Fiyat geçmişi

**Fiyat Hesaplama:**
- Otomatik fiyat hesaplama
- Manuel fiyat override
- İndirim ve promosyon uygulaması

#### 2.5.4 Lead Satış Raporları

**Raporlar:**
- Günlük/haftalık/aylık satış raporları
- Persona bazlı gelir analizi
- Dönüşüm oranları
- Provider performans karşılaştırması
- Trend analizi

#### 2.5.5 Provider Atamaları

**Atama Yönetimi:**
- Lead'leri provider'lara atama
- Otomatik atama kuralları
- Atama geçmişi
- Provider yük dengeleme

### 2.6 Provider Yönetimi

#### 2.6.1 Provider Listesi

**Liste Görünümü:**
- Provider tablosu
- Filtreleme (durum, hizmet tipi, performans)
- Arama
- Durum göstergesi (aktif, beklemede, askıya alınmış)

**Provider Detayları:**
- Şirket bilgileri
- İletişim bilgileri
- Hizmet kategorileri
- Performans metrikleri
- Lead geçmişi
- Gelir istatistikleri
- Değerlendirmeler

#### 2.6.2 Provider Onay Süreci

**Onay Akışı:**
- Başvuru formu inceleme
- Belge doğrulama
- Onay/red işlemi
- Bildirim gönderimi

**Gerekli Belgeler:**
- Ticari sicil belgesi
- Vergi levhası
- Turizm işletme belgesi
- Sigorta poliçesi

#### 2.6.3 Provider Performans Raporları

**Performans Metrikleri:**
- Satın alınan lead sayısı
- Dönüşüm oranı
- Ortalama yanıt süresi
- Müşteri memnuniyeti
- Gelir katkısı

**Raporlar:**
- Aylık performans raporu
- Karşılaştırmalı analiz
- Trend grafikleri

#### 2.6.4 Komisyon Ayarları

**Komisyon Yönetimi:**
- Genel komisyon oranı
- Provider bazlı özel oranlar
- Hizmet tipi bazlı oranlar
- Komisyon hesaplama kuralları
- Ödeme takibi

### 2.7 Seyahat Planları Yönetimi

#### 2.7.1 Plan Listesi

**Liste Görünümü:**
- Tüm planlar tablosu
- Filtreleme (kullanıcı, durum, tarih)
- Arama
- Durum göstergesi (aktif, tamamlanmış, iptal)

**Plan Detayları:**
- Plan bilgileri
- Kullanıcı bilgileri
- Günlük itineraries
- Dahil edilen yerler
- Harita görünümü
- Lead durumu
- Akıllı hava durumu tahmin bilgisi (geçmiş 5 yıllık veri analizi ile)

#### 2.7.2 Plan Düzenleme

**Düzenleme Özellikleri:**
- Yer ekleme/çıkarma
- Gün sıralaması değiştirme
- Notlar ekleme
- Durum güncelleme

#### 2.7.3 Plan Şablonları

**Şablon Yönetimi:**
- Hazır plan şablonları
- Şablon oluşturma
- Şablon düzenleme
- Şablondan plan oluşturma

**Şablon Kategorileri:**
- Romantik kaçamak
- Aile tatili
- Macera turu
- Kültür turu
- Fotoğraf safari

#### 2.7.4 Plan İstatistikleri

**İstatistikler:**
- Toplam plan sayısı
- Ortalama plan süresi
- Popüler yerler
- Popüler tur kombinasyonları
- Tamamlanma oranları

### 2.8 SEO Yönetimi

#### 2.8.1 Meta Tag Yönetimi

**Sayfa Bazlı SEO:**
- Ana sayfa meta tags
- Yer sayfaları meta tags
- Blog sayfaları meta tags
- Tur sayfaları meta tags

**Meta Tag Alanları:**
- Meta title
- Meta description
- Meta keywords
- Open Graph tags
- Twitter Card tags
- Canonical URL

#### 2.8.2 Sitemap Yönetimi

**Sitemap Özellikleri:**
- Otomatik sitemap oluşturma
- Manuel sitemap düzenleme
- Sitemap öncelik ayarları
- Güncelleme sıklığı
- Sitemap gönderimi (Google, Bing)

#### 2.8.3 Robots.txt Düzenleme

**Robots.txt Yönetimi:**
- Robots.txt düzenleme editörü
- Syntax kontrolü
- Test aracı
- Versiyon geçmişi

#### 2.8.4 SEO Analiz Raporları

**Analiz Metrikleri:**
- Sayfa hızı skorları
- Mobil uyumluluk
- Broken link kontrolü
- Duplicate content tespiti
- Meta tag eksiklikleri

**Raporlar:**
- SEO sağlık raporu
- Sayfa bazlı analiz
- Öneriler ve iyileştirmeler

#### 2.8.5 Anahtar Kelime Takibi

**Anahtar Kelime Yönetimi:**
- Hedef anahtar kelimeler
- Sıralama takibi
- Rakip analizi
- Anahtar kelime önerileri

### 2.9 Site Ayarları

#### 2.9.1 Genel Ayarlar

**Site Bilgileri:**
- Site adı
- Site sloganı
- Site açıklaması
- Varsayılan dil
- Zaman dilimi
- Tarih formatı

**İletişim Bilgileri:**
- E-posta adresi
- Telefon numarası
- Adres
- Harita konumu

#### 2.9.2 Header Düzenleme

**Header Bileşenleri:**
- Logo yükleme ve düzenleme
- Navigasyon menüsü düzenleme
- Üst bilgi mesajı (duyuru çubuğu)
- Dil seçici
- Kullanıcı menüsü

**Navigasyon Menüsü:**
- Menü öğeleri ekleme/çıkarma
- Menü sıralaması (sürükle-bırak)
- Alt menü oluşturma
- Mega menü desteği
- Menü öğesi ikonları

#### 2.9.3 Footer Düzenleme

**Footer Bileşenleri:**
- Footer kolonları (1-4 kolon)
- Widget alanları
- Telif hakkı metni
- Footer menüsü
- Sosyal medya ikonları

**Footer İçeriği:**
- Hakkımızda metni
- Hızlı linkler
- İletişim bilgileri
- Newsletter formu
- Ödeme yöntemleri logoları

#### 2.9.4 Menü Yönetimi

**Menü Türleri:**
- Ana menü (header)
- Footer menü
- Mobil menü
- Sidebar menü

**Menü Düzenleme:**
- Menü öğesi ekleme (sayfa, kategori, özel link)
- Menü sıralaması
- Menü hiyerarşisi
- Menü görünürlük ayarları

#### 2.9.5 Sosyal Medya Linkleri

**Sosyal Medya Platformları:**
- Facebook
- Instagram
- Twitter
- YouTube
- LinkedIn
- Pinterest
- TripAdvisor

**Ayarlar:**
- Platform URL'leri
- İkon stilleri
- Görünüm konumları
- Paylaşım butonları

### 2.10 Tasarım Yönetimi

#### 2.10.1 Tema Ayarları

**Tema Seçenekleri:**
- Açık tema
- Koyu tema
- Otomatik tema (sistem tercihine göre)

**Tema Özelleştirme:**
- Tema önizleme
- Tema dışa aktarma/içe aktarma

#### 2.10.2 Renk Paleti Düzenleme

**Renk Kategorileri:**
- Ana renkler (primary, secondary)
- Arkaplan renkleri
- Metin renkleri
- Vurgu renkleri
- Hata/başarı/uyarı renkleri

**Renk Seçici:**
- Hex, RGB, HSL desteği
- Renk önizleme
- Renk paletleri
- Kontrast kontrolü

#### 2.10.3 Tipografi Ayarları

**Font Yönetimi:**
- Google Fonts entegrasyonu
- Özel font yükleme
- Font ailesi seçimi

**Tipografi Ayarları:**
- Başlık fontları (H1-H6)
- Gövde metni fontu
- Font boyutları
- Satır yüksekliği
- Harf aralığı

#### 2.10.4 Logo ve Favicon Yönetimi

**Logo Yönetimi:**
- Ana logo yükleme
- Alternatif logo (koyu tema için)
- Logo boyutlandırma
- Logo önizleme

**Favicon Yönetimi:**
- Favicon yükleme (ICO, PNG)
- Çoklu boyut desteği
- Apple touch icon
- Android icon

#### 2.10.5 CSS Özelleştirme

**Custom CSS:**
- CSS editörü (syntax highlighting)
- CSS önizleme
- CSS versiyon kontrolü
- CSS minification

**CSS Değişkenleri:**
- CSS custom properties yönetimi
- Değişken önizleme

### 2.11 API ve Entegrasyonlar

#### 2.11.1 API Anahtarları Yönetimi

**API Servisleri:**
- OpenAI API Key
- MapTiler API Key
- Clerk API Keys (Publishable, Secret)
- Supabase Keys
- Google Analytics
- Google Maps
- Hava Durumu Veri Sağlayıcı API Key (geçmiş 5 yıllık veri erişimi için)

**Anahtar Yönetimi:**
- Anahtar ekleme/düzenleme
- Anahtar gizleme/gösterme
- Anahtar test etme
- Kullanım istatistikleri
- Anahtar rotasyonu

#### 2.11.2 Webhook Yapılandırması

**Webhook Yönetimi:**
- Webhook URL'leri
- Event türleri seçimi
- Webhook test etme
- Webhook logları
- Retry politikası

**Event Türleri:**
- Yeni kullanıcı kaydı
- Yeni seyahat planı
- Yeni lead
- Ödeme tamamlandı
- Plan güncellendi

#### 2.11.3 Üçüncü Parti Entegrasyonlar

**Entegrasyon Listesi:**
- Google Analytics
- Facebook Pixel
- Mailchimp
- Stripe/PayPal
- Twilio (SMS)
- SendGrid (Email)
- Hava Durumu Veri Sağlayıcı (geçmiş 5 yıllık veri erişimi)

**Entegrasyon Ayarları:**
- API credentials
- Entegrasyon aktif/pasif
- Senkronizasyon ayarları
- Test modu

#### 2.11.4 API Kullanım İstatistikleri

**İstatistikler:**
- API çağrı sayısı (günlük/aylık)
- Endpoint bazlı kullanım
- Hata oranları
- Yanıt süreleri
- Kota kullanımı

**Grafikler:**
- Kullanım trendi
- Endpoint dağılımı
- Hata analizi

### 2.12 Güvenlik

#### 2.12.1 Rate Limiting Ayarları

**Rate Limit Kuralları:**
- Kullanıcı bazlı limitler
- IP bazlı limitler
- Endpoint bazlı limitler
- Zaman penceresi ayarları

**Limit Türleri:**
- API çağrıları
- Giriş denemeleri
- Form gönderileri
- Dosya yüklemeleri

#### 2.12.2 IP Whitelist/Blacklist

**IP Yönetimi:**
- Whitelist IP ekleme/çıkarma
- Blacklist IP ekleme/çıkarma
- IP aralığı desteği
- Geçici/kalıcı engelleme

**Otomatik Engelleme:**
- Başarısız giriş denemeleri
- Şüpheli aktiviteler
- DDoS koruması

#### 2.12.3 Güvenlik Logları

**Log Türleri:**
- Başarısız giriş denemeleri
- Şüpheli API çağrıları
- Yetkisiz erişim denemeleri
- SQL injection denemeleri
- XSS denemeleri

**Log Görüntüleme:**
- Filtreleme (tarih, IP, kullanıcı)
- Detaylı log inceleme
- Dışa aktarma

#### 2.12.4 2FA Ayarları

**2FA Yönetimi:**
- 2FA zorunlu kullanıcı rolleri
- 2FA yöntemleri (SMS, Authenticator App)
- Backup kodları
- 2FA sıfırlama

#### 2.12.5 Şüpheli Aktivite Raporları

**Raporlar:**
- Günlük güvenlik özeti
- Şüpheli IP listesi
- Anormal kullanım paternleri
- Potansiyel tehditler

### 2.13 Raporlar ve Analitik

#### 2.13.1 Kullanıcı Analitikleri

**Metrikler:**
- Yeni kullanıcılar (günlük/haftalık/aylık)
- Aktif kullanıcılar
- Kullanıcı tutma oranı
- Kullanıcı segmentasyonu
- Demografik dağılım

**Grafikler:**
- Kullanıcı büyüme trendi
- Aktivite ısı haritası
- Kullanıcı yolculuğu

#### 2.13.2 Gelir Raporları

**Gelir Metrikleri:**
- Toplam gelir
- Lead satış geliri
- Komisyon geliri
- Ortalama işlem değeri
- Gelir trendi

**Raporlar:**
- Günlük/haftalık/aylık gelir raporu
- Persona bazlı gelir analizi
- Provider bazlı gelir dağılımı
- Tahmin raporları

#### 2.13.3 Trafik Analizi

**Trafik Metrikleri:**
- Sayfa görüntülemeleri
- Benzersiz ziyaretçiler
- Bounce rate
- Ortalama oturum süresi
- Sayfa başına süre

**Trafik Kaynakları:**
- Organik arama
- Direkt trafik
- Sosyal medya
- Referral
- Ücretli reklamlar

#### 2.13.4 Dönüşüm Oranları

**Dönüşüm Metrikleri:**
- Kayıt dönüşüm oranı
- Plan oluşturma dönüşümü
- Lead dönüşüm oranı
- Ödeme dönüşümü

**Dönüşüm Hunisi:**
- Adım bazlı dönüşüm analizi
- Terk etme noktaları
- İyileştirme önerileri

#### 2.13.5 Özel Rapor Oluşturma

**Rapor Oluşturucu:**
- Metrik seçimi
- Tarih aralığı
- Filtreleme
- Gruplama
- Görselleştirme türü

**Rapor Yönetimi:**
- Rapor kaydetme
- Zamanlanmış raporlar
- Rapor paylaşma
- Rapor dışa aktarma (PDF, Excel)

### 2.14 Bildirimler

#### 2.14.1 E-posta Şablonları

**Şablon Türleri:**
- Hoş geldiniz e-postası
- Şifre sıfırlama
- Yeni lead bildirimi
- Plan onayı
- Newsletter

**Şablon Düzenleme:**
- HTML editörü
- Değişken kullanımı ({{user_name}}, {{plan_name}})
- Önizleme
- Test e-postası gönderme

#### 2.14.2 Push Notification Ayarları

**Bildirim Türleri:**
- Yeni lead bildirimi
- Plan güncellemesi
- Sistem bildirimleri
- Promosyon bildirimleri

**Ayarlar:**
- Bildirim aktif/pasif
- Hedef kullanıcı grupları
- Zamanlama
- Öncelik seviyesi

#### 2.14.3 SMS Ayarları

**SMS Şablonları:**
- Doğrulama kodu
- Rezervasyon onayı
- Hatırlatma mesajları

**SMS Ayarları:**
- SMS sağlayıcı (Twilio)
- Gönderen numarası
- Karakter limiti
- Maliyet takibi

#### 2.14.4 Bildirim Kuralları

**Kural Oluşturma:**
- Tetikleyici event seçimi
- Koşul tanımlama
- Bildirim türü seçimi
- Hedef kitle belirleme

**Örnek Kurallar:**
- Yeni lead oluştuğunda provider'a bildir
- Plan 24 saat içinde başlayacaksa kullanıcıya hatırlat
- Yüksek değerli lead oluştuğunda admin'e bildir

### 2.15 Sistem Yönetimi

#### 2.15.1 Veritabanı Yönetimi

**Veritabanı İşlemleri:**
- Tablo görüntüleme
- Sorgu çalıştırma (SQL editörü)
- İndeks yönetimi
- Veritabanı optimizasyonu

**Veritabanı İstatistikleri:**
- Tablo boyutları
- Kayıt sayıları
- Sorgu performansı

#### 2.15.2 Cache Yönetimi

**Cache İşlemleri:**
- Cache temizleme (tümü/seçili)
- Cache istatistikleri
- Cache stratejisi ayarları
- Cache TTL ayarları

**Cache Türleri:**
- Sayfa cache
- API cache
- Veritabanı sorgu cache
- Görsel cache

#### 2.15.3 Log Görüntüleme

**Log Türleri:**
- Uygulama logları
- Hata logları
- Erişim logları
- Güvenlik logları

**Log Yönetimi:**
- Log filtreleme
- Log arama
- Log dışa aktarma
- Log arşivleme

#### 2.15.4 Sistem Sağlık Kontrolü

**Sağlık Metrikleri:**
- CPU kullanımı
- RAM kullanımı
- Disk kullanımı
- Veritabanı bağlantı havuzu
- API yanıt süreleri

**Durum Göstergeleri:**
- Sistem durumu (sağlıklı/uyarı/kritik)
- Servis durumları
- Bağımlılık durumları

#### 2.15.5 Backup ve Restore

**Backup Yönetimi:**
- Manuel backup oluşturma
- Otomatik backup zamanlama
- Backup listesi
- Backup boyutları

**Restore İşlemleri:**
- Backup seçimi
- Restore önizleme
- Restore işlemi
- Rollback

**Backup Stratejisi:**
- Günlük otomatik backup
- Haftalık tam backup
- Aylık arşiv backup
- Retention policy (30 gün)

## 3. Kaldırılacak veya Basitleştirilecek Özellikler

### 3.1 Gereksiz Özellikler

**Kaldırılacaklar:**
- Clerk API Anahtarları Yapılandırma Rehberi (admin panelinden çıkarılacak, dokümantasyon olarak ayrı tutulacak)
- Teknik detaylar ve kod örnekleri (admin panelinde yer almamalı)
- Geliştirici odaklı içerikler

**Basitleştirilecekler:**
- API ayarları sadece anahtar yönetimi ile sınırlandırılacak
- Teknik terminoloji kullanıcı dostu hale getirilecek
- Karmaşık ayarlar gelişmiş ayarlar bölümüne taşınacak

### 3.2 Kullanıcı Deneyimi İyileştirmeleri

**İyileştirmeler:**
- Sade ve anlaşılır arayüz
- Contextual help (her sayfada yardım butonları)
- Onboarding wizard (ilk giriş için)
- Hızlı başlangıç kılavuzu
- Video tutorials
- Tooltips ve açıklayıcı metinler

## 4. Teknik Gereksinimler

### 4.1 Frontend Teknolojileri
- React + TypeScript
- Tailwind CSS + Shadcn UI
- Zustand (state management)
- React Router (routing)
- React Query (data fetching)
- Recharts (grafikler)
- React Table (tablo yönetimi)

### 4.2 Backend Entegrasyonlar
- Supabase (veritabanı)
- Clerk (kimlik doğrulama)
- OpenAI API
- MapTiler API
- Hava Durumu Veri Sağlayıcı API (geçmiş 5 yıllık veri erişimi)

### 4.3 Performans Gereksinimleri
- Sayfa yükleme süresi < 2 saniye
- API yanıt süresi < 500ms
- Mobil uyumlu responsive tasarım
- Progressive Web App (PWA) desteği

### 4.4 Güvenlik Gereksinimleri
- HTTPS zorunlu
- SQL injection koruması
- XSS koruması
- CSRF koruması
- Rate limiting
- 2FA desteği
- Rol bazlı erişim kontrolü

## 5. Koordinat Yönetimi Güncellemeleri

### 5.1 src/lib/trip-transform.ts Güncellemesi

**Mevcut Kod:**
```typescript
position: {
  lat: Number(place?.latitude || 0),
  lng: Number(place?.longitude || 0),
},
```

**Yeni Kod:**
```typescript
position: {
  lat: place?.latitude != null ? Number(place.latitude) : null,
  lng: place?.longitude != null ? Number(place.longitude) : null,
},
```

**Açıklama:**
- Koordinatsız yerlerin position değeri artık `{lat: 0, lng: 0}` yerine `{lat: null, lng: null}` olarak döndürülecek
- Bu değişiklik, koordinatsız yerlerin harita üzerinde yanlış konumda (0,0 koordinatında) görüntülenmesini önler
- Koordinatsız yerler filtrelenerek harita üzerinde gösterilmeyecek

### 5.2 src/types/trip-ui.ts Tip Güncellemesi

**Mevcut Tip:**
```typescript
position: { lat: number; lng: number };
```

**Yeni Tip:**
```typescript
position: { lat: number | null; lng: number | null };
```

**Açıklama:**
- TripPlace interface'inde position alanı güncellenerek lat ve lng değerlerinin null olabileceği belirtildi
- Bu değişiklik TypeScript tip güvenliğini sağlar ve koordinatsız yerlerin doğru şekilde işlenmesini garanti eder
- Harita bileşenleri ve diğer ilgili kodlar bu tip değişikliğine göre güncellenmelidir

### 5.3 Etkilenen Bileşenler

**Güncellenmesi Gereken Alanlar:**
- Harita bileşenleri: Koordinatsız yerleri filtrelemeli
- Timeline bileşeni: Koordinatsız yerleri uygun şekilde göstermeli
- Yer ekleme/düzenleme formları: Koordinat validasyonu yapmalı
- API çağrıları: Null koordinatları doğru şekilde işlemeli

## 6. LeafletMapDirect Bileşeni Güncellemeleri

### 6.1 src/components/ui/LeafletMapDirect.tsx Değişiklikleri

**Gerekli Güncellemeler:**

#### 6.1.1 Koordinat Filtreleme
- 0,0 veya null koordinatlı yerleri haritada göstermeme
- Sadece geçerli koordinatlara sahip yerleri render etme
- Filtreleme sonrası köşegen çizgilerin kaybolması

**Uygulama:**
```typescript
const validPlaces = places.filter(place => 
  place.position.lat !== null && 
  place.position.lng !== null &&
  place.position.lat !== 0 && 
  place.position.lng !== 0
);
```

#### 6.1.2 Zaman Dilimine Göre Renkli Markerlar
- Her zaman dilimi için farklı renk kullanımı
- Marker üzerinde zaman dilimi numarası gösterimi
- Görsel olarak ayırt edilebilir marker tasarımı

**Renk Paleti:**
- Sabah (06:00-12:00): Turuncu/Sarı tonları
- Öğle (12:00-15:00): Kırmızı/Pembe tonları
- İkindi (15:00-18:00): Mavi/Mor tonları
- Akşam (18:00-21:00): Lacivert/Koyu mavi tonları
- Gece (21:00-06:00): Gri/Siyah tonları

#### 6.1.3 Seçili ve Hover Marker Animasyonu
- Seçili marker için büyütme animasyonu
- Hover durumunda marker vurgulama
- Smooth geçiş efektleri
- Z-index yönetimi ile seçili marker'ın üstte görünmesi

**Animasyon Özellikleri:**
- Scale animasyonu (1.0 → 1.3)
- Opacity değişimi
- Shadow efekti
- Pulse animasyonu (seçili marker için)

#### 6.1.4 Temiz Popup Tasarımı
- Modern ve minimal popup görünümü
- Yer adı, kategori ve zaman bilgisi
- Yer görseli (varsa)
- Hızlı eylem butonları (detay, düzenle, kaldır)
- Responsive tasarım

**Popup İçeriği:**
- Başlık: Yer adı (bold, büyük font)
- Alt başlık: Kategori ve zaman dilimi
- Görsel: Thumbnail (varsa)
- Açıklama: Kısa özet (max 2 satır)
- Eylem butonları: İkonlu butonlar

#### 6.1.5 FitBounds Optimizasyonu
- Sadece geçerli koordinatlara göre harita sınırlarını ayarlama
- Null veya 0,0 koordinatları hesaplamaya dahil etmeme
- Dinamik zoom seviyesi ayarlama
- Padding değerleri ile kenar boşlukları

**Uygulama:**
```typescript
const bounds = validPlaces.map(place => [
  place.position.lat,
  place.position.lng
]);

if (bounds.length > 0) {
  map.fitBounds(bounds, {
    padding: [50, 50],
    maxZoom: 15
  });
}
```

### 6.2 Teknik Detaylar

**Kullanılacak Kütüphaneler:**
- Leaflet.js (harita)
- React-Leaflet (React entegrasyonu)
- Leaflet.markercluster (marker gruplama, opsiyonel)
- Custom CSS (animasyonlar)

**Performans Optimizasyonları:**
- Marker virtualization (çok sayıda marker için)
- Debounce ile hover event yönetimi
- Memoization ile gereksiz re-render önleme
- Lazy loading ile popup içeriği yükleme

**Erişilebilirlik:**
- Keyboard navigation desteği
- ARIA labels
- Screen reader uyumluluğu
- Yüksek kontrast mod desteği

## 7. Akıllı Hava Durumu Tahmin Sistemi

### 7.1 Geçmiş Veri Analizi Tabanlı Tahmin Sistemi

**Sistem Özellikleri:**
- Ziyaretçinin seçmiş olduğu tarihlerin geçmiş 5 yıllık hava durumu verilerinin analizi
- Makine öğrenmesi algoritmaları ile akıllı tahmin
- İstatistiksel analiz ve trend tespiti
- Sezonsal paternlerin belirlenmesi

**Veri Kaynağı:**
- Hava durumu veri sağlayıcı API entegrasyonu (geçmiş 5 yıllık veri erişimi)
- Kapadokya bölgesine özel meteoroloji verileri
- Günlük sıcaklık, yağış, rüzgar ve nem kayıtları

**Tahmin Algoritması:**
- Seçilen tarih aralığı için geçmiş 5 yılın aynı dönem verilerinin toplanması
- İstatistiksel analiz (ortalama, medyan, standart sapma)
- Trend analizi ve sezonsal patern tespiti
- Olasılık bazlı tahmin modeli
- Güven aralığı hesaplaması

**Görüntüleme Alanları:**
- Trip Planner sayfasında günlük akıllı hava durumu tahmin kartları
- Timeline panelinde her gün için detaylı tahmin özeti
- Plan detay sayfasında kapsamlı hava durumu analizi
- Geçmiş veri grafiklerinin görselleştirilmesi

**Tahmin Bilgileri:**
- Beklenen sıcaklık aralığı (minimum-maksimum)
- Yağış olasılığı yüzdesi (geçmiş verilere dayalı)
- Hava durumu açıklaması (güneşli, bulutlu, yağmurlu vb.)
- Rüzgar hızı tahmini
- Nem oranı tahmini
- Güven seviyesi göstergesi (düşük/orta/yüksek)
- Geçmiş 5 yıllık veri özeti

**Görselleştirme:**
- Günlük tahmin kartları
- Sıcaklık trend grafikleri (geçmiş 5 yıl karşılaştırması)
- Yağış olasılığı grafikleri
- İnteraktif veri görselleştirme
- Geçmiş yıl karşılaştırma tabloları

**API Yönetimi:**
- Hava Durumu Veri Sağlayıcı API Key yönetimi (Admin panelinde)
- Geçmiş 5 yıllık veri erişim ayarları
- API kullanım istatistikleri
- Hata yönetimi ve fallback mekanizması
- Cache stratejisi (geçmiş veri cache'leme)

**Kullanıcı Deneyimi:**
- Tahmin yüklenirken loading state
- API hatası durumunda kullanıcı dostu mesaj
- Geçmiş veri analizi sonuçlarının açıklaması
- Güven seviyesi göstergesi
- Hava durumuna göre giyim önerileri
- Aktivite önerileri (hava durumuna uygun)
- Hava durumu uyarıları (kötü hava koşulları için)

**Teknik Detaylar:**
- Geçmiş veri toplama ve işleme algoritması
- İstatistiksel analiz modülleri
- Veri cache mekanizması (performans optimizasyonu)
- Asenkron veri yükleme
- Error handling ve retry logic

**Admin Paneli Özellikleri:**
- Geçmiş veri analiz raporları
- Tahmin doğruluk oranı istatistikleri
- Veri sağlayıcı API kullanım takibi
- Cache yönetimi
- Sistem performans metrikleri

## 8. Özet

Bu gereksinim dokümanı, LetsGoCappadocia uygulaması için SaaS seviyesinde profesyonel bir admin paneli tanımlamaktadır. Admin paneli, içerik yönetiminden kullanıcı yönetimine, lead yönetiminden sistem ayarlarına kadar tüm operasyonel ihtiyaçları karşılayacak şekilde tasarlanmıştır. Kategorize edilmiş menü yapısı, kapsamlı raporlama özellikleri ve kullanıcı dostu arayüz ile admin'lerin işlerini verimli bir şekilde yönetmelerini sağlar.

Koordinat yönetimi güncellemeleri ile koordinatsız yerlerin doğru şekilde işlenmesi sağlanmış, TypeScript tip güvenliği artırılmıştır.

LeafletMapDirect bileşeni güncellemeleri ile harita görselleştirmesi iyileştirilmiş, kullanıcı deneyimi optimize edilmiş, koordinat filtreleme, zaman dilimine göre renkli markerlar, seçili/hover animasyonları, temiz popup tasarımı ve fitBounds optimizasyonu eklenmiştir.

Akıllı Hava Durumu Tahmin Sistemi ile planner oluşturulduğunda ziyaretçinin seçmiş olduğu tarihlerin geçmiş 5 yıllık verileri analiz edilerek akıllı bir hava durumu tahmini sunulur. İstatistiksel analiz ve makine öğrenmesi algoritmaları kullanılarak güvenilir tahminler üretilir, kullanıcılar seyahat planlarını hava koşullarına göre optimize edebilir.