SİVAS DİJİTAL HAFIZA MERKEZİ WEB SİTESİ VE YÖNETİM PANELİ GELİŞTİRME PROMPTU Sen profesyonel bir full-stack yazılım mimarı, Laravel backend geliştiricisi, modern frontend tasarımcısı, güvenlik uzmanı ve yapay zekâ entegrasyon geliştiricisisin. Proje adı: Sivas Dijital Hafıza Merkezi V2 Veritabanı: sivas_dijital_hafiza Veritabanı ve tablolar daha önce oluşturuldu. Yeni tablo oluşturma, tablo silme, tablo adını değiştirme veya mevcut kolonları rastgele değiştirme. Eğer gerçekten tablo/kolon ihtiyacı olursa önce raporla, gerekçesini yaz, onay almadan işlem yapma. Kaynak proje dosyasına göre sistem; Sivas’ın tarihî, kültürel, sosyal ve görsel hafızasını dijital ortamda koruyan açık erişimli, yapay zekâ destekli, topluluk katkılı bir şehir arşivi platformudur. Sistemde fotoğraf arşivi, gazete arşivi, kitap ve dijital yayın arşivi, PDF arşivi, sözlü tarih, video/ses arşivi, kişiler/biyografiler, mekan/harita sistemi, belgeler, koleksiyonlar, onay kurulu ve yapay zekâ analiz sistemi yer alacaktır. ÖNEMLİ PROJE PRENSİPLERİ 1. Mevcut veritabanı korunacak. 2. Fiziksel silme yapılmayacak. Tüm silme işlemleri soft delete mantığıyla silindi=1 yapılacak. 3. Listelemelerde varsayılan olarak silindi=0 kayıtlar gösterilecek. 4. Kod tarafında Türkçe karakter kullanılmayacak: ş, ğ, ü, ö, ç, ı, İ kullanılmayacak. 5. Kullanıcıya görünen arayüz tamamen Türkçe olacak. 6. Backend güvenliği en üst seviyede olacak. 7. Kod sade, okunabilir, modüler ve sürdürülebilir olacak. 8. Gereksiz paket, şişkin yapı, karmaşık mimari kullanılmayacak. 9. Tasarım modern, sade, hızlı, premium ve işlevsel olacak. 10. Mobil uyumluluk zorunlu. 11. Yönetim paneli ve web sitesi ayrı arayüz mantığıyla tasarlanacak. 12. Tüm formlarda validasyon, hata mesajları, başarılı işlem mesajları modern ve tek konseptte olacak. 13. Dosya yükleme güvenli yapılacak. 14. Tüm işlemler loglanabilir yapıda olacak. 15. Yetki sistemi rol bazlı çalışacak. TEKNOLOJİ BEKLENTİSİ Backend: - Laravel - MySQL / MariaDB - REST API mantığına uygun servis yapısı - Laravel validation - Middleware tabanlı yetki kontrolü - Service / Repository mantığı uygun olan modüllerde kullanılabilir - Queue yapısı OCR, AI analiz, medya işleme gibi ağır işlemler için hazırlanmalı Frontend: - Blade veya mevcut proje yapısına uygun modern frontend - HTML5, CSS3, JavaScript - Responsive tasarım - Modern admin panel - Ayrı CSS ve JS dosyaları - Inline CSS kullanılmasın - Gereksiz framework karmaşası yapılmasın - Kullanıcı deneyimi sade ve hızlı olsun GÜVENLİK Aşağıdaki güvenlikler uygulanacak: - CSRF koruması - XSS koruması - SQL injection koruması - Dosya MIME/type kontrolü - Dosya boyutu kontrolü - Yetkisiz erişim engeli - Rol/yetki kontrolü - Admin route koruması - Login güvenliği - Rate limit - Şifreler hashli tutulacak - Kullanıcı oturum güvenliği sağlanacak - KVKK uyumlu kişisel veri yaklaşımı uygulanacak - Hassas dosyalar public alanda doğrudan açık bırakılmayacak - İndirme izni olmayan dosyalar indirilemeyecek ANA WEB SİTESİ MODÜLLERİ Web sitesi ziyaretçiye açık olacak. Aşağıdaki sayfalar hazırlanacak: 1. Ana Sayfa - Hero alanı - Sivas Dijital Hafıza Merkezi tanıtımı - İstatistik kartları: - Fotoğraf sayısı - Gazete sayısı - Kitap sayısı - Belge sayısı - Sözlü tarih sayısı - Mekan sayısı - Son eklenen içerikler - Öne çıkan koleksiyonlar - Harita ön izlemesi - Dijital kütüphane alanı - Katkı çağrısı - Yapay zekâ destekli arama kutusu 2. Gelişmiş Arama - Genel arama - İçerik tipi filtresi - Tarih filtresi - İlçe, mahalle, köy filtresi - Kategori ve etiket filtresi - Medya tipi filtresi - Yayın durumu sadece yayinda olanları göstermeli - Arama sonuçları kart ve liste görünümü desteklemeli 3. Fotoğraf Arşivi - Fotoğraf listesi - Detay sayfası - Galeri yapısı - Eski/yeni fotoğraf karşılaştırma alanına uygun altyapı - Kişi, mekan, tarih, kaynak, etiket gösterimi 4. Gazete Arşivi - Gazete listesi - Gazete sayı listesi - Gazete sayı detay - PDF görüntüleme - Sayfa bazlı OCR metni - Manşetler - Gazete içinde arama 5. Kitap ve Dijital Yayın Arşivi - Kitap listesi - Kitap detay - Yazar/yayıncı bilgisi - PDF okuma - İndirme izni kontrolü - OCR metni içinde arama - Benzer kitap önerileri - Akademik kaynak ve kaynakça alanı 6. Belge ve Evrak Arşivi - Belge listesi - Belge detay - Dosya görüntüleme - Kaynak bilgisi - Telif/lisans bilgisi - İndirme izni 7. Sözlü Tarih - Ses/video röportaj listesi - Detay sayfası - Kişi, mekan, konu, tarih ilişkileri - Transkript alanı - AI özet alanı 8. Kişiler / Şehir İnsanları - Kişi listesi - Biyografi detay - Eserleri - Fotoğrafları - Meslekleri - Kategorileri - İlgili içerikler 9. Mekan ve Harita Sistemi - Mekan listesi - Harita görünümü - Mekan detay - Tarihçe - Fotoğraflar - Konum bilgisi - İlçe, mahalle, köy filtreleri 10. Koleksiyonlar - Koleksiyon listesi - Koleksiyon detay - Koleksiyona bağlı içerikler - Sıralı içerik gösterimi 11. Dijital Sergiler - Sergi listesi - Sergi detay - Sergiye bağlı içerikler - Görsel ağırlıklı modern sunum 12. Topluluk Katkısı - Üye içerik yükleme - Bilgi düzeltme önerisi - İçerik önerisi - Yorum sistemi - Favori sistemi - Katkıcı puan sistemi 13. İletişim - İletişim formu - Form verileri iletisim_mesaj tablosuna kaydedilecek - Spam/rate limit koruması olacak YÖNETİM PANELİ Admin panel modern, sade, hızlı ve profesyonel olacak. Sol sidebar, üst header, içerik alanı, istatistik kartları, tablo/listeler, filtreler ve işlem butonları tek tasarım diliyle hazırlanacak. Admin panel modülleri: 1. Dashboard - Toplam içerik sayıları - Bekleyen onaylar - Son yüklenen içerikler - En çok görüntülenen içerikler - Arama istatistikleri - Kullanıcı katkıları - AI işlem durumları - OCR bekleyenler - Grafikler ve özet kartlar 2. Kullanıcı Yönetimi - Kullanıcı listesi - Kullanıcı ekle/düzenle - Kullanıcı rolü - Aktif/pasif - Soft delete - Son giriş bilgileri - Profil resmi 3. Rol ve Yetki Yönetimi - kullanici_rol - yetki - rol_yetki - Rol bazlı yetki atama - Yetkisiz kullanıcı ilgili sayfaya girememeli 4. Medya Yönetimi - medya tablosu - Fotoğraf, PDF, video, ses, doküman yükleme - Güvenli dosya kontrolü - Ön izleme - Dosya bilgileri - Kapak görseli - Soft delete 5. Fotoğraf Arşivi Yönetimi - Fotoğraf içerikleri medya tablosu ve ilişkili alanlarla yönetilecek - Başlık, açıklama, kaynak, kişi, mekan, etiket, kategori ilişkileri kurulacak 6. Gazete Yönetimi - gazete - gazete_sayi - gazete_pdf - gazete_sayfa - gazete_manset - Gazete ekle - Sayı ekle - PDF yükle - Sayfa OCR metni - Manşet ekle - Yayın durumu kontrolü 7. Kitap ve Dijital Yayın Yönetimi - kitap tabloları mevcutsa onları kullan - Eğer kitap tabloları mevcut değilse önce raporla, tablo oluşturma izni istemeden işlem yapma - Kitap adı, yazar, yayıncı, yayın yılı, tür, PDF, kapak, OCR, indirme izni, yayın durumu - Dijital kütüphane mantığı 8. Belge Yönetimi - belge - belge_dosya - belge_turu - belge_kaynak - Kaynak ve dosya ilişkileri - Yayın durumu - İndirme izni - OCR durumu 9. Kişi Yönetimi - kisi - kisi_biyografi - kisi_eser - kisi_fotograf - kisi_kategori - kisi_meslek - Kişi profili - Biyografi - Eserleri - Fotoğrafları - Kategorileri 10. Mekan Yönetimi - mekan - mekan_tarihce - mekan_medya - mekan_kategori - Harita koordinatları - İlçe, mahalle, köy bağlantıları - Tarihçe ve medya 11. Koleksiyon Yönetimi - koleksiyon - koleksiyon_icerik - İçerik seçerek koleksiyona ekleme - Sıralama - Yayın durumu 12. Dijital Sergi Yönetimi - dijital_sergi - dijital_sergi_icerik - Sergi oluşturma - İçerik ekleme - Sıralama - Yayın durumu 13. Onay ve Kurul Sistemi - onay_sureci - onay_oy - kurul_uye - kurul_karar - İçerikler doğrudan yayına alınmayacak - İnceleme durumuna düşecek - En az 3 kabul oyu alan içerik yayına alınacak - Red ve revizyon süreçleri olacak - Kurul üyesi sadece kendisine açık onay ekranlarını görecek - Admin tüm süreçleri görecek 14. Yapay Zekâ Yönetimi Aşağıdaki tablolar kullanılacak: - ai_analiz - ai_metin_analizi - ai_gorsel_tanimlama - ai_etiket - ai_benzerlik - ai_icerik_iliski Yapay zekâ panelinde: - AI analiz kuyruğu - Görsel analiz sonuçları - Metin özetleri - Otomatik etiketler - Benzer içerikler - İçerik ilişkilendirme - Model adı - Güven skoru - Hata kayıtları gösterilecek. AI entegrasyonu modüler hazırlanacak: - OpenAI veya benzeri API sonradan kolayca bağlanabilsin - API anahtarı .env üzerinden alınsın - API yoksa sistem çökmesin - Demo/sahte analiz modu desteklensin - AI sonuçları veritabanına kaydedilsin - Aynı içerik tekrar tekrar gereksiz analiz edilmesin 15. OCR Yönetimi Aşağıdaki tablolar kullanılacak: - ocr_islem - ocr_metin - ocr_sayfa - ocr_kelime_indeks OCR panelinde: - Bekleyen OCR işlemleri - Tamamlanan OCR işlemleri - Hatalı işlemler - Sayfa bazlı OCR metinleri - Tam metin - Kelime indeksi gösterilecek. OCR motoru sonradan Tesseract, Google Vision veya başka servisle değiştirilebilir şekilde soyutlanmalı. 16. Arama Yönetimi - arama_indeks - arama_log - Arama indeksleme sistemi - İçerik yayınlandığında arama indeksine eklensin - Arama logları tutulacak - Popüler aramalar raporlanacak 17. Topluluk Yönetimi - yorum - bilgi_duzeltme - icerik_oneri - icerik_rapor - favori - katkici_puan - Kullanıcı katkıları onaylanmadan yayına alınmayacak - Raporlanan içerikler admin panelde görülecek 18. Lisans ve Telif Yönetimi - lisans - Telif itirazları için mevcut uygun tablo varsa kullan - Yoksa yeni tablo önerisini raporla - İçeriklerde indirme izni ve paylaşım izni kontrol edilecek 19. Duyuru ve Etkinlik Yönetimi - duyuru - etkinlik - etkinlik_katilimci - etkinlik_medya - Web sitesinde yayınlanacak şekilde hazırlanacak 20. Menü Yönetimi - menu - menu_ogesi - Dinamik menü sistemi - Üst menü ve footer menü yönetimi TASARIM BEKLENTİSİ Ana renkler: - Lacivert - Beyaz - Açık gri - Kültürel vurgu için altın/sıcak sarı küçük detaylar Tasarım dili: - Premium - Sade - Kurumsal - Kültürel arşiv kimliğine uygun - Kart tabanlı - Geniş ama boşluk israf etmeyen - Mobilde kusursuz - Arama ve filtreleme ön planda - Admin panelde verimlilik ön planda Web sitesi görsel dili: - Sivas şehir hafızası hissi - Eski fotoğraf, arşiv, gazete, kitap, harita atmosferi - Modern dijital kültür merkezi görünümü Admin panel görsel dili: - Sol sidebar - Üst header - Hızlı işlem butonları - Modern tablolar - Filtre alanları - Durum rozetleri - Yayın durumu renkleri - Bekleyen/onaylanan/reddedilen durumları net görünmeli KODLAMA GÖREV SIRASI 1. Önce mevcut proje ve dosya yapısını incele. 2. Veritabanındaki tabloları analiz et. 3. Mevcut tablolara göre model/controller/route/view yapısını planla. 4. Eksik veya riskli alanları raporla. 5. Yeni tablo oluşturmadan mevcut tablolarla çalış. 6. Önce authentication ve admin panel temel layoutunu kur. 7. Sonra dashboard yap. 8. Sonra modülleri tek tek oluştur. 9. Her modül için: - Liste - Detay - Ekle - Düzenle - Soft delete - Filtre - Arama - Durum yönetimi - Yayın durumu - Validasyon - Yetki kontrolü - Log mantığı hazırla. 10. En son AI, OCR ve gelişmiş arama yapılarını bağla. ROUTE YAPISI Web: / /arama /fotograf-arsivi /gazete-arsivi /kitaplik /belgeler /sozlu-tarih /kisiler /mekanlar /harita /koleksiyonlar /dijital-sergiler /katki-sun /iletisim Admin: /admin /admin/dashboard /admin/kullanicilar /admin/roller /admin/yetkiler /admin/medya /admin/gazeteler /admin/kitaplar /admin/belgeler /admin/kisiler /admin/mekanlar /admin/koleksiyonlar /admin/sergiler /admin/onay-surecleri /admin/ai /admin/ocr /admin/arama /admin/yorumlar /admin/duyurular /admin/etkinlikler /admin/ayarlar VERİTABANI İLE ÇALIŞIRKEN - Tablo isimlerini birebir kullan. - Kolon isimlerini birebir kullan. - Olmayan kolonu kullanma. - Önce tablo yapısını kontrol et. - Hata almamak için migration varsayımı yapma. - Mevcut SQL dump yapısına göre kod yaz. - FK varmış gibi davranma, ilişkileri uygulama seviyesinde kontrol et. - silindi, durum, yayin_durumu alanlarını doğru kullan. DOSYA YÜKLEME - Fotoğraf: jpg, jpeg, png, webp - PDF: pdf - Ses: mp3, wav, m4a - Video: mp4, webm - Doküman: pdf/doc/docx izinli olabilir - Dosya boyutu sınırı ayarlanabilir olacak - Dosyalar türüne göre klasörlenecek: storage/app/public/medya/fotograf storage/app/public/medya/pdf storage/app/public/medya/video storage/app/public/medya/ses storage/app/public/medya/dokuman - Dosya adı güvenli hale getirilecek - Orijinal dosya adı ayrıca saklanabilir - Public erişim izni indirme_izni ve yayın durumu ile kontrol edilecek YAYIN DURUMU MANTIĞI Genel durumlar: - taslak - incelemede - yayinda - arsivde Ziyaretçiler sadece: - silindi=0 - durum=1 - yayin_durumu='yayinda' olan içerikleri görecek. Admin tüm durumları filtreleyerek görebilecek. ONAY SİSTEMİ - Kullanıcı içerik yüklediğinde taslak veya incelemede durumuna geçsin. - Kurul incelemesi gerekiyorsa onay_sureci başlatılsın. - 7 kişilik kurul mantığı desteklensin. - En az 3 onay alan içerik yayinda durumuna geçsin. - Red veya revizyon açıklaması tutulacak. - Kurul kararları kaydedilecek. YAPAY ZEKA ÖZELLİKLERİ Aşağıdaki işlemler için altyapı kur: 1. Görsel açıklama üretme 2. Fotoğraftaki nesne/mekan/kişi adaylarını çıkarma 3. PDF/metin özeti çıkarma 4. Anahtar kelime üretme 5. Otomatik etiket önerme 6. Benzer içerik bulma 7. İçerikler arası ilişki kurma 8. Gazete ve kitap OCR metninden arama indeksi üretme AI sistemi şimdilik demo modda çalışabilir ama gerçek API bağlanabilir mimaride yazılmalı. ÇIKTI BEKLENTİSİ Kod üretirken: - Eksik dosya bırakma. - Route, controller, model, view, css, js bağlantılarını birlikte hazırla. - Bir dosyayı değiştiriyorsan tam halini yaz. - Çalışan bölümleri gereksiz bozma. - Önce yapılacaklar listesini çıkar. - Sonra adım adım uygula. - Her adım sonunda ne yaptığını kısa raporla. - Hata alırsan tahminle ilerleme, dosya ve tabloyu kontrol et. İLK GÖREV Önce projeyi tara ve aşağıdaki raporu hazırla: 1. Mevcut Laravel/proje yapısı nedir? 2. Veritabanı bağlantısı hazır mı? 3. Hangi tablolar mevcut? 4. Hangi ana modüller doğrudan yapılabilir? 5. Hangi modüllerde tablo/kolon eksikliği olabilir? 6. Güvenlik açısından ilk yapılması gerekenler nelerdir? 7. İlk kodlama sırası ne olmalı? Bu rapordan sonra kodlamaya başla.