Denemek isteyenler >
https://getvidfly.com adresini ziyaret edebilirler. Paylaşım için
@shms; çok teşekkür ederim, elinize emeğinize sağlık.
Ben birkaç düzenleme ve geliştirme yaptım.
Proje Geliştirmeleri
1. Temel Altyapı ve Dinamik Yapı
Sitenin "beynini" oluşturacak ve statik bir sayfadan çok daha fazlasını yapmaya yarayacak şekilde geliştirme yapıldı.
- Dinamik İçerik Yönetimi (PHP & JSON):
- Artık statik bir index.html dosyası değil, sunucu tarafında çalışan bir index.php dosyası yapıldı.
- Formlardaki tüm açılır menü seçenekleri (<option>), HTML kodundan tamamen çıkarılıp data/options.json dosyasına taşındı. Bu sayede, menü içeriklerini değiştirmek için artık kod düzenlemesine gerek kalmadı.
- Ana sayfa (index.php), yüklendiği anda options.json dosyasını okuyarak menüleri JavaScript aracılığıyla anında ve dinamik olarak oluşturacak şekilde tasarlandı.
- Admin paneli eklendi. Böylece site ile ilgili geliştirme ve düzenlemeler, kod yerine panelden güncellenecek şekilde geliştirildi.
- Dil değiştirme özelliği eklendi.
- Modüler Dosya Mimarisi:
- Proje; ana site dosyaları, veri dosyaları (/data), admin paneli dosyaları (/admin) ve sunucu taraflı işlemciler (logger.php) olarak mantıksal klasörlere ayrıldı. Bu, projenin bakımını ve gelecekteki geliştirmeleri çok daha kolay hale getirmesi için yapıldı.
2. Admin Paneli Özellikleri
Kodlama bilmeyenler için yönetebilmesi için oluşturulan ve akışta kolaylık sağlaması amacıyla hazırlanan "kontrol merkezi".
- Güvenli Giriş Sistemi:
- Şifreler, sunucuda asla düz metin olarak tutulmayacak; güvenli hashleme (password_hash) yöntemiyle şifrelenerek admin/users.php dosyasında saklanacak şekilde ayarlandı.
- Kapsamlı Form Seçenek Yöneticisi:
- Admin panelinden, ana sayfadaki tüm açılır menülerin içeriğini (options.json) yönetilecek şekilde güncellendi.
- Dinamik Ekleme/Silme: Her menü kategorisine tek tıkla yeni seçenekler ekleyebilme veya mevcut seçenekleri silebilme özelliği eklendi.
- Çok Dilli Seçenek Yönetimi: Her bir menü seçeneği için hem Türkçe hem de İngilizce metinleri ayrı ayrı girebileceğiniz alanlar eklendi. Bu, sitenin dil değiştirme özelliğiyle tam entegre çalışır.
- Hazır Şablon Yöneticisi:
- Ana sayfadaki "Hazır Şablonlar" menüsünün içeriği artık koda gömülü değil, Admin Panelinden değiştirilecek şekilde güncellendi.
- Admin panelindeki özel bölümü kullanarak yeni şablonlar oluşturabilir, mevcutları düzenleyebilir veya silebilirsiniz. Bu değişiklikler anında data/templates.json dosyasına kaydedilecek ve ana sayfaya yansıyacak şekilde geliştirildi.
- Otomatik Yedekleme Sistemi:
- Admin panelinde "Kaydet" butonuna her bastığınızda, sistem otomatik olarak üzerine yazdığı options.json ve templates.json dosyalarının bir önceki halini .bak uzantısıyla yedekleyecek şekilde güncellendi. Bu; olası bir hatada verilerinizi kolayca geri yüklemenizi sağlayan bir sigortadır.
- Kullanım İstatistikleri Paneli:
- Admin paneli ana sayfasında, sitenizin ne kadar popüler olduğunu gösteren bir istatistik bölümü eklendi. Böylece, her oluşturulan prompt ve toplam kullanım istatistikleri eklendi.
- Toplam Kullanım: Sitenin ilk kurulduğu günden beri "Prompt Oluştur" butonuna kaç kez basıldığını gösterir.
- Bugünkü Kullanım: Sadece o gün içinde butonun kaç kez kullanıldığını gösterir. Bu sayaç her gün kendini sıfırlar.
3. Ana Site ve Kullanıcı Deneyimi Özellikleri
Ziyaret eden son kullanıcıların deneyimini zenginleştiren ve onlara daha fazla kontrol sunan özellikler.
- Kapsamlı Çoklu Dil Desteği (TR/EN):
- Navbar'daki "TR" ve "EN" butonları ile sitenin tüm arayüz dili anında değiştirilebilecek şekilde ayarlandı.
- Bu çeviri sadece başlıkları değil; tüm etiketleri, buton yazılarını, açıklama metinlerini, menülerin içindeki seçenekleri ve hatta dinamik olarak oluşturulan yeni kişi formlarını bile kapsayacak şekilde geliştirildi.
- Sistem, kullanıcının son seçtiği dili tarayıcı hafızasında (localStorage) tutacak ve bir sonraki ziyaretinde siteyi o dilde açacak şekilde güncellendi.
- Profil Kaydetme ve Yükleme:
- Kullanıcılar, formdaki tüm seçimlerini .json uzantılı bir "profil dosyası" olarak kendi bilgisayarlarına indirebilecekleri geliştirme yapıldı.
- Daha sonra bu profil dosyasını "Profil Yükle" butonuyla seçerek, tüm formu tek bir tıkla, kaydettikleri ayarlarla doldurabilirler. Bu işlem tamamen kullanıcının bilgisayarında gerçekleştiği için sunucuya hiçbir dosya yüklenmez ve %100 güvenlidir.
- "Rastgele Doldur" Fonksiyonu:
- Kullanıcılara ilham vermek veya farklı kombinasyonları hızlıca denemek için eklenmiş bu buton; formdaki tüm açılır menüleri rastgele seçeneklerle anında dolduracak şekilde geliştirildi.
- Tema Değiştirici (Aydınlık/Karanlık Mod):
- Bu seçim de tarayıcı hafızasında saklanır ve kullanıcının tercih ettiği tema bir sonraki ziyaretinde korunacak şekilde güncellendi
4. Teknik ve Performans İyileştirmeleri
Arka planda daha stabil, hızlı ve sorunsuz çalışmasını sağlayan profesyonel dokunuşlar.
- Otomatik Önbellek Temizleme (Cache Busting):
- index.php dosyasında, style.css ve script.js dosyaları çağrılırken sonlarına ?v={zaman_damgası} şeklinde dinamik bir kod eklenmiştir.
- Bu teknik, dosyalarda yapacağınız herhangi bir kod veya tasarım değişikliğinin, kullanıcıların "tarayıcı geçmişini temizlemesine" gerek kalmadan, anında herkese yansımasını garanti edecek şekilde geliştirildi.
- Gelişmiş Form Kontrolü:
- Karakter sayaçları, dinamik olarak değişen form alanları (updatePersonFields) ve dil değişimine uyum sağlayan placeholder metinleri gibi özelliklerle form kullanımı daha akıcı ve kullanıcı dostu hale getirilmiştir.