2026-03-04 18:25:09 +00:00

35 KiB
Raw Permalink Blame History

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)
  • ı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ı

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:

  • ı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:

position: {
  lat: Number(place?.latitude || 0),
  lng: Number(place?.longitude || 0),
},

Yeni Kod:

position: {
  lat: place?.latitude != null ? Number(place.latitude) : null,
  lng: place?.longitude != null ? Number(place.longitude) : null,
},

ı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:

position: { lat: number; lng: number };

Yeni Tip:

position: { lat: number | null; lng: number | null };

ı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:

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)
  • ı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:

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.