İlan Ajandası blog sayfamızda yeni eklenen yazıların daha kolay anlaşılabilmesi için tasarımımızda ufak değişiklikler yaptık. Yeni eklenen yazılar olduğunda sitenin sağ tarafında bulunan linkler kalın ve yeni yazısı eklenmiş şekilde görüntülenecek.
İlan özellikleri kayıtları için hazırlamış olduğumuz model tasarımında değişikliklerimizi yaptık. Bu doğrultuda sistemimizde yapılan değişikliklerin yanı sıra bir ayrı tablo daha eklememiz gerekti. Bu da özelliklerin kategorilenmesini sağlayacak olan Özellik Kategorileri modelimizdi. Bu sayede ilan özelliklerimizi hem kategorileyebiliyor hemde Özellik Kategorilerinin İlan Kategorileri ile ilişkilendirilmesini sağlamış oluyoruz. Örnek vermek gerekirse, Emlak İlan kategorisinde bir Duvarlar özellik kategorisi ve Duvarlar kategorisi altında da tanımlanmış Dekoratif tuğla desenli kaplama ilan özelliğini tanımlamamız mümkün olabiliyor. Bu noktadan sonra ilan ve özellik ilişkilendirmesini bir ilişkilendirme tablosu ile sağlamamız oldukça kolay olacaktır.
Projede eklemiş olduğumuz İlan özellikleri tablomuzda model hatası ile karşılaştık. İlk yaklaşım olarak İlan Özellikleri adından yola çıkıldığı için ilan özelliklerinin her bir ilan ile ilişkilendirilmiş kayıtlar olduğunu ve her ilanda tekrar tekrar eklenmesi gerektiğini düşünmüştük. Ancak aldığımız proje uyarısından dolayı erken ve zamanında bir değişiklik söz konusu olacak. Bu noktada aslında ilan özelliklerinin ilan tipleri ile ilişkilendirilmesi gerektiği ve bu özelliklerin İlanlar ile ilişkisiz bir havuzda tutulması gerektiği anlaşıldı. Peki bu özellikler nasıl olacak ta ilan özellikleri olacaklar? İşte bu sorumuza da örnek sitemizde biraz inceleme yaptıktan sonra yanıtımızı almış bulunuyoruz. İlan özellikleri çoktan seçmeli şekilde bir liste halinde ilan kayıdı oluşturulurken seçilerek kayıt ediliyor veya daha sonra düzenleniyor olmalıdır. Örnek sitemizden aldığımız ekran görüntüsünü örnek alarak bu ilan özelliklerinin seçilmesini sağlayacak formları oluşturacağız.
Raci Beyin erken uyarısı  ve ilgilisi için teşekkürler...
İlan Ajandamızda ilanlar ile ilgili ilan özelliklerinin tanımlanması söz konusuydu. Bu ilan özelliklerinin eklenmesi ve düzenlenmesi ile ilgili çalışmamızı sonlandırmış bulunuyoruz.

Görev yönetimimizin iki önemli öğesi olan görev atamaları ve bu görev atamalarına ilişkin görevler ile ilgili ilişkilendirme ile ortaya çıkacak olan kayıt işlmeleri ve görünümlerini hazırladık. Hazırladığımız bu görev yönetimi ile görevler belirlenebiliyor, bu görevlere kişiler atanıyor ve atanan kişiler yaptıkları görevleri belli bir zaman içerisinde tamamlıyor olacaklar.
İlan Ajandası projesinin en önemli özelliklerinden biri olan görev yönetimi ile iligili veri modelini hazırladık. Modelin tanımı için ilişkilendirme şu şekilde gerçekleştirildi.
Bildiğimiz gibi İlan ajandasını kullanan kullanıcılar bulunacaktı. Bu kullanıcılardan yetkisi olan kullanıcılar diğer kullanıcılara görev ataması yapabilmesi söz konusu olmalıydı. Bu noktada yaptığımız müdahale yetkili kullanıcının ilgili ilan ve görev açıklaması ile kullanıcıya yapması gereken görevi tanımlaması oldu. Öncelikle bu ilişki ile bir görev ataması kaydı oluşturulacak ve daha sonra bu görev atamasının asıl önemli noktası olan görev ile ilişkili portalların görevli kişiye atanmasını sağlayacak. Dolayısı ile görevi olan kullanıcılar kendi görevlerini bir liste halinde görebilecek, görevi ile ilgili açıklamalara ve ihtiyacı olan bilgilere bu ilişkilendirmelerle kolaylıkla ulaşabilecek. Görevini bitiren kişi görevini sonlandırdığına ilişkin kayıt butonuna tıkladığında görev listesinden de yaomış olduğu görev artık gösterilmez duruma gelece be sistemde görevin tamamlandığı kayıdı oluşturulacak. Böylelikle aslında kullanıcıların her bir görevinin bir iş olarak algılanması ve performansının ölçülmesi söz konusu olabiliyor. Başlama ve bitirme tarihlerinin de kayıt altında tutulması raporlamalarda kullanılacak veri kaynaklarını sağlayacak olması da bu sistemde hazırladığımız alt yapının meyvesi olacak.
Sistemin arkaplanında çalışacak olan panelimizde son hamlelerimizi yapmaktayız. Bir sonraki adımımızda İlan Ajandamızın son kullanıcı arayüzünün hazırlanması ve test işlemlerini yaoacağız...

Sistem arka planında yer alacak olan yönetim panelimizde ilk ilan kayıdımızı yaptık. Bu kayıt için gerekli olan diğer verilerin de hazırlanması gerektiğinden önce diğer veri alanları için gerekli sayfa ve model yapılarını hazırladık. Dolayısı ile yönetim panelinin bu yüzünde oldukça fazla sekme görüntülenecek. Daha önce de belirttiğim gibi, sistemin kullanıcı arayüzü çok daha basit ve kullanışlı olmasının yanı sıra sistemin doğru çalışması ve alt yapısının sağlam olması en önemli kriterlerimizden. Bu yüzden kullanıcı arayüzüne geçmeden sistemin genelini kapsayan bu sistemi test edebileceğimiz bir yönetim paneli muhakkak hazırlamalıyız. Daha sonra bu panel sayesinde kritik düzenlemeler yapılabileceği gibi, daha profesyonel müdahaleler için de yararlı olacağı ortada.
İlan Ajandasının gereksinimlerinden biri olan menü öğelerini hazırladık. Bu öğelerin özelliklerine göre tıklandıklarında görüntülenecek görünümler veya açılacak olan form tasarımları ile ilgili çalışmalarımıza devam ediyoruz. Diğer yandan çalışmanın arkaplanında çalışacak olan sistem ve veritabanı ilişkisinin ilk aşaması tamamlanmak üzere. Sistem özelliklerinin değiştirilmesi işlemi için gerekli tablolar ve bu tablolarda değişiklikler yapabiliyoruz. Bu değişikliklerin daha kolay yapılabilmesi için sistem arayüzünde pratik fikirler ortaya koymamız gerekiyor. Form tasarımlarında bunları da göz önünde bulunduracağız.
İlan Ajandası Projesinde kullanmak amacı ile büyük bir titizlikle geliştirilmiş bir Javascript uygulama arayüzü kütüphanesini inceliyorum. Bu kütüphane sayesinde daha yetenekli bir kullanıcı arayüzü hazırlamamız ve asıl yapmamız gereken veritabanı uygulamalarına daha fazla zaman ayırabilmemize olanak sağlayacağını düşünüyorum. Arayüz nasıl olmalı karmaşasından bir nebze kendimizi kurtarmış olup aslında belkide daha profesyonel bir kullanıcı arayüzü sağlamış oluyoruz.
Sistemin öncelikli yapılarından biri olan kayıtlar için bir veritabanı ilişki tasarımı hazırladım. Bu ilişkide temel aldığım konu sistemde veri türlerinin değişkenliği, yeni veri alanlarının oluşturulmasının kolaylaştırılması ve sistemin bu veri tiplerini kullanabilmesini sağlayacak alt yapıda bir tasarım oluşturmaktı. Özetle bu tasarımın bize sağladığı özellik, bir kayıt gurubu oluşturabilmek, bu kayıt gurubunda bulunan veri değişkenlerini tanımlayabilmek ve yine bu kayıt guruplarını model olarak alacak olan kayıtlarda ilgili veri alanındaki değeri saklayan veri alanına ulaşmasını sağlayan ilişkiyi sağlamaktı. Daha somut bir örnek vermek gerekir ise, sisteme Emlak İlanı adında bir kayıt gurubu oluşturduğumuzu düşünelim. Bu kayıt gurubunda da İlan başlığı, Açıklama ve Yayında isimli veri alanları oluşturduğumuzu ve sırası ile bu alanların da veri türlerinin Yazı, Metin ve Mantıksal olarak belirlediğimizi düşünelim. Bu kayıt gurubu kullanılarak oluşturulacak olan bir kayıt ta, yine Yazı, Metin ve Mantıksal veri tablolarında ayrı ayrı tutulacağı ve bu tabloların kayıtlar ile ilişkilendiğini tasarımımızdan görebiliyoruz. Daha da basit düşünülecek olursa, bir kayıt için bir tablo tutulması yerine, her kayıt türü için ayrı tablolar tutuyoruz ki sistemimizden beklediğimiz esnekliği bize sağlayabilsin.
Şimdilik bu tasarım akla uygun geliyor, eğer değişiklikler ile geliştimemiz söz konusu olursa yine buna benzer bir iyileştirme olacağına eminim. Aslında belkide bunun için daha önce bu tip bir yaklaşımı diğer tasarımlarda nasıl çözdüklerini incelemek te yararlı olabilir.
Amaç:
İlan ajandası projesinin amacı, online bir web sunucusunda barındırılabilen, reklam portallarında yayınlanmakta olan veya yayınlanmış olan reklam ilanlarının takibi, yönetimi ve online reklam portallarında bulunan bireysel veya kurumsal kayıt bilgilerinin saklanmasını sağlayan, çok kullanıcı ve kullanıcı yetkilerine sahip bir veritabanı uygulaması hazırlamaktır.
Kapsam:
Bu proje kapsamı aşağıdaki maddeler ile tanımlıdır:
  • İlan Ajandası birden fazla kullanıcıya paketler halinde sunulacak, her paket içerisinde ayrı kullanıcı tanımlarını barındıracaktır.
  • Her kullanıcı kendi değişkenlerini kendi tanımlayabilecektir.
  • Kullanıcılar bu sistemde reklam ilanlanlarındaki bilgileri girerek saklayacak, gerektiğinde de aratarak tekrar kullanabilecektir.
  • Kullanıcılar online portallarda yayınlanan ilanlar ve sistemde bulunan ilanlar arasında manuel olarak karşılaştırmasını yapacaktır.
  • Kullanıcılar sistemde belirlediği değişkenler ile kayıtlar oluşturabilir ve bu kayıtlarda yine kendi belirlediği değişkenler doğrultusunda aramalarda bulunabilecektir.
  • Sistem kullanıcıların bir veya daha fazla formatta resim dosyasını barındıracak ve istendiğinde lokal bilgisayara indirilebilecektir.
  • ...