UX & Arayüz
Editör akışının tasarımı ve panel arayüzünün Figma'da kurgulanması.
Referans · 2023
Blok tabanlı editör, medya kütüphanesi ve çok dilli içerik desteği olan özel CMS.
Hikâye
Rakamlar gizlilik kapsamında; bu bölüm projenin hangi ihtiyaçtan doğduğunu, teknik kararların gerekçesini ve ortaya çıkan sistemi anlatıyor.
Hazır CMS seçenekleri iki uçta kalıyordu: ya kullanılmayacak onlarca özelliği ve eklenti bağımlılığını beraberinde getiriyor ya da ihtiyaç duyulan içerik tiplerini hiç karşılamıyordu. Eklenti güncellemelerinin taşıdığı güvenlik riski de buna ekleniyordu. Hedef, içerik ekibinin geliştiriciye ihtiyaç duymadan sayfa kurabildiği, çok dilli yapıyı baştan destekleyen yalın bir sistemdi.
Çözümün merkezine blok tabanlı bir editör koydum. Sürükle-bırak sıralama ve canlı önizleme gibi yoğun etkileşim isteyen editör tarafı Vue.js ile; içerik tipleri, sürüm geçmişi ve yayın durumu yönetimi ise Laravel ile geliştirildi. Çok dilli içerik ve medya ilişkileri MySQL üzerinde ilişkisel olarak modellendi, arayüz Tailwind CSS ile kuruldu ve geliştirme ortamının üretimle birebir aynı davranması için proje Docker ile paketlendi. İş bölümü bilinçli bir tasarım kararıydı: içerik ekibi hazır bloklardan sayfa kuruyor, yeni blok tipleri kod tarafında tanımlanıyor.
Sistem devreye girdikten sonra yeni sayfa kurmak içerik ekibinin kendi işi hâline geldi. Sürüm geçmişi hatalı bir değişikliği önceki hâline döndürmeyi mümkün kılıyor, eksik çeviri uyarıları çok dilli yayında boşluk kalmasını engelliyor, rol yönetimi ise editör ve yayıncı sorumluluklarını birbirinden ayırıyor. Kuruma ait içerik üretim verileri paylaşıma kapalıdır.
01 Proje Hakkında
Her projede önce mevcut durumu ve gerçek ihtiyacı anlamaya çalışıyorum. Teknik kararlar bu tanımdan sonra geliyor.
Hazır CMS çözümleri ya çok fazla gereksiz özellik getiriyor ya da ihtiyaç duyulan içerik tiplerini karşılamıyordu. Eklenti bağımlılığı hem güvenlik hem de güncelleme tarafında risk oluşturuyordu.
Yalnızca ihtiyaç duyulan içerik tiplerini destekleyen, blok tabanlı bir editör geliştirildi. İçerik ekibi hazır bloklardan sayfa kurabiliyor; geliştirici tarafı ise yeni blok tiplerini kod tarafında tanımlıyor.
02 Rolüm
Bu projede üstlendiğim çalışma kalemleri. Belirtilmeyen alanlarda müşteri ekibi veya üçüncü taraflar yer aldı.
Editör akışının tasarımı ve panel arayüzünün Figma'da kurgulanması.
Vue.js ile blok editörü, sürükle-bırak sıralama ve canlı önizleme.
Laravel ile içerik tipleri, sürüm geçmişi ve yayın durumu yönetimi.
İçerik, blok ve medya modelleri; çok dilli yapı için ilişki tasarımı.
Görsel yükleme, otomatik boyutlandırma ve modern format dönüşümü.
03 Özellikler
Projenin gündelik kullanımda en çok fark yaratan tarafları.
Hazır bloklardan sayfa kurma, sürükle-bırak sıralama ve canlı önizleme.
Dil bazlı içerik yönetimi ve eksik çeviri uyarıları.
Merkezi görsel yönetimi, otomatik boyutlandırma ve alternatif metin alanı.
İçerik değişikliklerinin kaydı ve önceki sürüme dönebilme.
Taslak, zamanlanmış yayın ve yayından kaldırma durumları.
Editör, yayıncı ve yönetici rolleri için ayrı yetkiler.
05 Sonuç
İçerik ekibi yeni sayfaları kendi başına kurmaya başladı ve geliştirici bağımlılığı büyük ölçüde azaldı. Kuruma ait içerik üretim verileri paylaşıma kapalıdır.
Ölçülmemiş performans veya başarı yüzdesi paylaşılmaz. Doğrulanabilir veriler CMS üzerinden eklenebilir.
Bu projede kullanılan hizmet başlıkları:
Devamı
Benzer teknik yaklaşımların kullanıldığı diğer çalışmalar.
Emeyz, teknoloji, yaşam, seyahat ve daha birçok konuda içerik sunan; Türkçe, İngilizce ve Almanca yayın yapan çok dilli bir bilgi platformudur.
Flash ve HTML5 oyunlarının internet tarayıcı üzerinden oynanabildiği bir oyun platformuydu.
Mevcut bir CMS'e eklenen, LLM API'si üzerinden çalışan içerik üretim ve düzenleme modülü.