30 Haziran 2015

Ücretsiz Sosyal Kütüphane Yazılımı: Kitapi

ile hasan

kitapi_logoBir proje belli bir olgunluğa gelmeden ondan bahsedince mutlaka bir aksilik çıkıyor, projeyi sonlandıramıyorum. O nedenle Kitapi‘den bahsetmek için 3 ay bekledim.

Yeri gelmişken “proje” tabirini sevgili Dr. Hakkı Öcal’dan duyduğum haliyle burada zikredelim. Malum herşeye “proje” demeye pek bir alıştık: Proje, kafanda tasarladığın şeyin kağıda kaleme dökülmüş haline denir, yoksa aklına gelen her düşünce proje değil, “fikir”dir.

Kitapi, Anadoludaki bütün okulların kütüphanelerinde ücretsiz kullanılmak üzere gönüllü olarak yazmaya başladığımız bir otomasyon programı. İnternet ya da meşhur tabiri ile “bulut” tabanlı olduğu için kurulum gerektirmez ve internet+tarayıcı olan her bilgisayarda tablette ya da akıllı cep telefonunda çalışabilir.

Projeyi “Sosyal Kütüphane Yazılımı” olarak adlandırıyoruz. Çünkü klasik bir otomasyondan ziyade kullanıcıların da işin içinde olduğu, sosyalleşebileceği bir mecra haline getirmeyi planlıyoruz. Şöyle ki; üyeler kütüphaneden ödünç kitap almakla kalmayacak, okudukları kitaplar hakkında yorum yapıp puan verebilecek, kendi kütüphanelerinden veya başka kütüphanelerden üyeleri takip edip ne okuduklarına bakabilecek, bunlar hakkında yorum yapabilecekler. Aradıkları kitapları kendi kütüphanelerinde bulamazlarsa başkalarını kontrol edebilecek, kütüphanedeki eserlerin bilgilerinin güncel tutulmasına yardımcı olabilecekler. Sisteme katkıda bulundukları ve üyelerle etkileşime geçtikleri ölçüde puan kazanacaklar ve çeşitli başlıklar altında birbirileri ile yarışabilecekler.

Screen Shot 2015-06-30 at 04.31.37

Yazılımı kullanacaklara kolaylık olması açısından sistemdeki tüm eser ve üyelere özel birer karekod (QR Code) verdik. Bunları kütüphane standartlarına uygun etiketleri de içerecek şekilde küçük etiketler halinde kitaplara yapıştırabilmelerini sağladık. Üye kartları için de benzer bir yapı tasarlıyoruz. Bu karekodları okuyacak cihazlar belki şimdilik biraz pahalı ama bir cep telefonu uygulaması ile dahi bu sorun ortadan kalktığı için sıkıntı olmuyor. Kitapi’deki karekod sistemi, okuyacak cihaz olmasa dahi 6-7 karakterlik verilerle iş yaptığı için elle yazmak dahi marketteki koca barkodu yazmaktan daha kısa sürüyor. Fikir vermesi açısından daha ilk başlarda çektiğimiz örnek videoyu aşağıdan izleyebilirsiniz.

Kitapi’nin bir de şu özelliği var; yazılımı hazırlamaya başladığımızda internetten kitap datası (eser adı, yazarı, çevirmeni, yayınevi, basım yılı, basım yeri vb.) bulup her kütüphanenin erişebileceği ortak bir katalog olarak sisteme yükledik. Sadece 640 kitaplık küçük bir kaynak bulabildik. Bu kataloğu artırmak için kaç kütüphaneye ricada bulunduysak da bize  yardımcı olmak istemedi. Bunların arasında Bahçeşehir Üniversitesi de var malesef. Belki bu satırları okuyan bir ilgili çıkıp bu ayıbı örter diye mahsus isim veriyorum. Bu kataloğumuz 640 kitapla başladı ama pilot kütüphanemiz her yeni kitap eklediğinde bu kataloğumuz büyüyor. Böylece her yeni kitap eklendiğinde bir başka kütüphane o eserin datasını kullanmak istediğinde önüne hazır geliyor.  Şuanki katalog değerimiz 1748.

Yavaş yavaş duyurmaya başladığımızda ilk ses İhlas Kolejlerinden geldi. Oradaki tanıdıklarımız sosyal medyadaki bir iki mesajımızı görüp projemizi incelemeye koyuldular. Eğer beğenirlerse yaklaşık 5000 kitaplık data bizleri bekliyor 🙂

Kitapi belli bir seviyeye gelene kadar sunucu hizmetlerini biz üstlendik, sonrasında ise çalıştığım firma (Ubit) bu masrafları karşılamaya gönüllü oldu. 11 Yıldır eğitim kurumu otomasyonları yazan firmamdan bu kibarlığı bekliyordum zaten 🙂 Burdan da bir kez daha teşekkür etmiş olayım.

Projeyi PHP Laravel Framework + Bootstrap ile kodladık, henüz bitmedi tabi. Laravel’i yeni öğrendiğim için zaten hevesliydim ama bilhassa içerisinde yer alan veritabanı modülü Eloquent ORM (object relational mapping – nesneleri ilişkilerine göre eşleştirme diyebiliriz) beni benden aldı! Sizi subquery’lerden, view’lardan, join’lerden kurtarıyor. Enerjinin korunumu kanunu gereği bir yerden kazanç olunca belki performansdan kayıp oluyordur ama çeşitli cache (ön bellekleme) mekanizmaları ile bunun üstesinden gelmek mümkün.

İki cümle ile durumu örneklemeye çalışayım da benim gibi sonradan görenlerin çenesi açık kalsın:

$uye=Uye::find(1234);
echo $uye->okul->kutuphane->kutuphane_adi

gibi bir tabir kullandığınızda $uye nesnesinden okulu, ordan kütüphaneyi buluyor. Kütüphane objesinden de istediğiniz sutunu elde edebiliyorsunuz.

Sıkılmayacaklar için Kitapi’nin biraz da hikayesinden bahsetmek istiyorum.

3-4 ay evvel eşimin memleketi Gönen’e gitmiştik. Kıymetli yazarlarımızdan Ömer Seyfettin burada doğduğu için belki ona ait osmanlıca yazılmış nüshalar bulabilirim ümidiyle onun ismiyle anılan Gönen’deki tek kütüphaneye gittim. Mütevazi bir kütüphaneydi. Biraz dolanıp bir şey bulamayınca girişte bilgisayar başında duran personele meramımı anlattım. Önünde bilgisayar olduğu için ordan bakıp yardımcı olabilir diye düşündüm. Meğer o bilgisayarda kitapların kaydı tutulmuyormuş. Sadece biri bir kitap almak istediğinde buna dair bir bilgi yazılıyormuş.

Bu cevaba bir okuyucu olmanın yanısıra programcı olarak daha çok üzüldüm ve kaç para ulan bi flüt dercesine kendime kızdım. Eskiden olsa ordan çıkıp eve varmadan kafamda veriyapısını, kullanıcı tiplerini vs çoktan oluşturmuş, memlekete dönmeden de koda başlamıştım. Ama yaş gereği “dur hemen atlama, belki birileri çoktan yazmıştır yahut sabret belki bir başka sebep daha çıkar, o zaman daha sağlam bir nedenin olur” diye telkinlerde bulunup gazımı aldım..

Eve dönünce ilk işim e-okul gibi kütüphaneler için de ortak bir sistemin olup olmadığını araştırmak oldu. Koha, To-Kat, Yordam gibi şeylerle karşılaştım. Bunlardan bilhassa Koha aslında tam benim düşündüğüm işi yapmak üzere hazırlanmış yabancı kökenli, açık kaynak kodlu bir yazılım. Devlet bünyesinde birileri bunu alıp pek çok il kütüphanesi için uyarlamış bile. Fakat incelediğimde bu listedekilerin çoğu çalışmıyor hata veriyordu. Örneğin Rize Kütüphanesi bu yazıyı yazdığım esnada dahi çalışmıyor durumda. Ayrıca bunlar resmi il kütüphaneleri idi. Bunların dışında yazılıma muhtaç okul kütüphaneleri de vardı. Öte yandan Koha’nın görünüşü hiç hayalimdeki gibi değildi. Bu nedenle kütüphane otomasyonu fikrini komple rafa kaldırmadan ikinci bir sebep daha ortaya çıkana kadar bekletme kararı aldım.

Çok geçmeden, bir iki hafta sonra o ikinci sebeple yani Bursa Nilüfer’de Hasanağa Şehit Piyade Er Kadir Çavuşoğlu okulunda Türkçe öğretmenliği yapan kuzenimle telefonda konuşuyordum. Sağolsun sık sık okulda yaptıkları etkinliklerden bahseder. Son yaptıkları iş tam bana göreydi. Okulun kapalı kütüphanesini derleyip toparlayıp tekrar canlandırmışlar, cocukları da üye yapmışlardı. Bizim Şahika Hanım grafiker olduğu için bizden üye kartlarının tasarımı konusunda yardım istiyordu. Kütüphane kayıtlarını defterde tuttuklarını anladığım an dayanamayıp baklayı ağzımdan çıkardım. Kütüphaneler için otomasyon yapmayı düşündüğümüzü, gönüllü pilot okul olup bu işe destek verirlerse seve seve yapabileceğimizi anlattım. Ve böylece başlamış olduk.

IMG_1677

IMG_1819

Tabi kafada kırk tilki dolaştırıp kuyruklarını birbirine yani bizim Şahika Hanım’a değdirmeden iş yapmak maharet istiyor. “Zaten bilmem kaç işle uğraşıyorsun, bir de buna bulaş.. O bilgisayar hani az kullanılacaktı..” gibi kocasının sağlığını düşünen müşfik eş darbelerine maruz kalmamak için “ofiste kırk tane stajyer var (3) bu işi stajyerlere veririm, onlar kodlar, ben sadece yönlendiririm” diyerek işi kafadan bağladım. Yalan değil, ben de tam böyle düşünüyordum aslında. Laravel’i öğrenip, bir iki modül yazıp, gerisini de alın cocuklar devam edin diye onlara bırakacaktım. Ama stajyerler benden önce bırakıp kaçtı. Vizeydi finaldi derken hepsi dağıldı, kodlarla başbaşa kaldım. Sağolsun içlerinden birine bir tanecik olsun vazife verebildim. Sonra o da sırra kadem..

Pişman mıyım? Tabi ki hayır 🙂 Laravel’le PHP’li eski güzel günlerime geri döndüm resmen. Ofisteki diğer arkadaşlar da çok yardımcı oldu. İsimlerini web sitesinin en nadide yerinde sergileyeceğim inşallah.

Kitapi’ye Milli Eğitim’in sitesinden bulduğumuz bütün okulları il il ekledik. Şuan giriş sayfasındaki Facebook butonu üzerinden zahmetsizce giriş yapıp sonrasında okuduğunuz -veya bir zamanlar okumuş olduğunuz- okulu seçip devam edebiliyorsunuz. Ama canlı data görmek isterseniz yukarıda bahsettiğimiz pilot okulumuzu seçebilirsiniz. Kitapi’nin “Kütüphane Sorumlusu” tarafından kullanılacak kısmı %90 bitti gibi, üye kayıtları, eser kayıtları, excel’den eser import etme, eserler için etiket basma, ödünç, teslim  ve uzatma işlemleri çalışıyor. Sadece raporlar ve istatistikler bekliyor. “Öğrenci” olarak yapabilecekleriniz ise şimdilik kayıtlı eser ve üye verilerini görmek, üyeleri takip edebilmek ve tabi ki profil bilgilerinizi güncelleyebilmekten ibaret. Gerisi gelecek inşallah.

Projemize sosyal medyadan desteklerinizi bekliyorum. Etrafınızda öğretmen tanıdıklarınız mutlaka vardır. Böyle bir ihtiyaçları varsa lütfen iletişim kurmaktan çekinmesinler. Kitapi tanıtım sayfasının en altında iletişim formu bulunuyor.

Buraya kadar zahmet edip okuduysanız “ayrıca” teşekkür ederim 🙂 Eğer kendinizi iyi hissettirecekse ben en az 4 kere okuyorum :))) Yine de yazım hatalarına engel olamıyorum.

NOT: Kitapi en azından otomasyon konusunda çalışır hale gelir gelmez Gönen’deki kütüphaneyi arayıp mevzuyu uzun uzun anlattım. Bu projeye onların vesilesi ile başladığımı da söyledim. Telefondaki bey sağolsun kibar bir şekilde muamele etti, bütün anlattıklarımı sabırla dinledi. Fakat bir iki hafta önce zorunlu olarak Koha’ya geçtiklerini söyledi.

IMG_1822