Hadi bakalım. Açık kaynak kodlu ya bu şimdi, birisi atlayıp sizden daha fazla katkıda bulunmasa bari

Emeğine sağlık hocam.

Selam. Üzerinde 1-2 haftadır uğraştığım projemi sonunda bitirdim. Yeni geliştirmeler ve özellikler eklenmeye devam edecek. Bu konuyu da forum halkından öneriler, eleştiriler almak ve sürüm notlarını paylaşmak için açtım. Yaptığınız önerileri ve eleştirileri takip ediyor olacağım. Projenin GitHub sayfası: GitHub - kernelginar/kuys: KÜYS - Kütüphane Yönetim Sistemi KÜYS - Kütüphane Yönetim Sistemi. Contribute to kernelginar/kuys development by creating an account on GitHub. github.com Hazırsanız yazılımı tanıtmaya başlayayım. LisansBu yazılım, GPLv2 lisansı altında yayımlanmıştır. Peki nedir bu lisansın özellikleri? Hemen bakalım. Kısaca bu lisans size şu hakları verir: Programın kaynak kodunu görüntüleyebilirsiniz. Programın kaynak kodunu alıp değiştirebilirsiniz. Kaynak kodunu alıp değiştirdiğiniz yazılımı dağıtabilirsiniz, yayınlayabilirsiniz. Programı ticari amaçlarınız için kullanabilirsiniz. Tabii bunları gerçekleştirmek için uygulamanız gereken şu koşullar var: Kodun değiştirilip dağıtılması halinde, programın geliştiricisinin programda bahsedilmesi gerekir. Dağıtacağınız program yine GPL lisansı ile lisanslanmış olmalı. Yani programınızı kapalı kaynak haline getiremezsiniz. Özgür ve açık kaynak olarak sunmaya devam etmeniz gerekir. Dağıtacağınız program açık kaynaklı olmalı ve herkes tarafından ulaşılabilir olmalı. Diğer insanların programınızı dağıtmasına izin vermelisiniz. Dağıtacağınız program yukarıda bahsettiğim üzere GPL lisansı ile lisanslanmış olmalı. Bu lisans şu kısıtlamaları getirir: Bu programın yapımcısı, olası bir kullanım sonucu oluşacak durumdan sorumlu değildir. Bu programın geliştirilmesi garanti edilmez. Kısaca uygulama tanıtımıBu uygulama tamamen Python dili ile yazılmıştır. PyQt5 ve SQLite3 modülleri kullanılarak geliştirilmiştir. PyQt5, Qt arayüzüne erişmek için kullanılan bir protokoldür. SQLite3 ise SQL kodlarını çalıştırabildiğimiz, veri tabanında sorgulama yapabildiğimiz bir modül. Uygulama yazılırken, kaynak kod olabildiğince okunaklı yazılmıştır. Bu sayede siz de girip kodu görüntülerken neyin ne olduğunu anlayabilirsiniz . Uygulama içerisinde temel olan bütün işlevler var. Kısaca göz atalım: Kayıt Listesi Kayıt Listesi içinde arama yapabilmek Kayıt Eklemek Kayıt Güncellemek Kayıt Silmek Kitap Listesi Kitap Listesi içinde arama yapabilmek Kitap Eklemek Kitap Güncellemek Kitap Silmek Peki bunlar ne işe yarıyor? Kayıtlar ve Kitaplar, veri tabanı içerisinde iki ayrı tablo içerisinde tutuluyor. Bu sayede veri tabanları birbirine karışmamış oluyor. Kayıt listesine, kitap alan öğrenciler kaydediliyor. Bu da kitapların kontrolünü yapabilmemizi sağlıyor. kutuphane tablosu içinde bulunan kayıtlar şu sütunlardan oluşuyor: ID İsim - Soyisim Sınıf Numara Kitap İsmi Kitap Yazarı Kitaplık Kitap Rafı Kitap Alınma Tarihi Kitap Son Teslim Tarihi Kitap Teslim Durumu Arayüz üzerinden bunların durumunu kontrol edebiliyorsunuz. Kitap listesi de aynı şekilde kütüphanenizde bulunan kitapları veri tabanına kaydedebileceğiniz bir tablo. Bu sayede hangi kitap hangi kitaplık ve rafta bunu görebiliyor olacaksınız. kitaplar tablosu içinde bulunan kayıtlar şu sütunlardan oluşuyor: ID Kitap İsmi Kitap Yazarı Kitaplık Kitap Rafı Uygulamanın arayüzü ve kullanımıUygulamanın genel görünümü Kayıt kısmıyla ilgili arayüzler Kitap kısmıyla ilgili arayüzler Kayıt ve Kitap ekleme işlemi yapmakKayıt ve Kitap eklerken asıl dikkat etmeniz gereken şey ID değeridir. Aynı ID değerine sahip iki kayıt girmemeniz sizin yararınıza olur. Eğer veri tabanında sıralı ID kayıtları bozulursa kayıt ve kitap güncelle kısımlarından, ilk önce ilk ID değeri ardından da değiştirilmek istenen ID değeri girilir ve ID değeri değiştirilmiş olur. ID güncelleme işlemi yapıldığında, ilk başta girdiğiniz ID ve değiştirmek istediğiniz ID satırı silinir arayüz üzerinde. Bunun nedeni, bir ID değerini değiştirdiğinizde artık değiştirdiğiniz ID değerine sahip kayıt aynı ID değerine sahip değil. Bundan ötürü yapacağınız değişiklikler asla uygulanmayacak veya program hata verecektir. Kayıt ve Kitap ekleme işleminde, arayüz üzerinde yazan yönergeleri takip etmeniz durumunda doğru bir kayıt veya kitap ekleme işlemi yapmış olacaksınız. Örnek üzerinden gidelim. Burada bir kaydımız var. Burada ID güncelleme işlemi yapalım. Yukarıya önce değiştirmek istediğimiz kaydın ID değerini giriyoruz. Ardından yapmak istediğimiz ID değerini aşağıdaki ID kısmına yazıp "ID Güncelle" butonuna basıp ID değerini güncelliyoruz. Bastım ve iki satır da varsayılan durumlarına döndü. Listeye bakalım. Gördüğünüz gibi ID değeri değişti. Diğer güncelleme işlemleri de bu şekilde. Kayıt ve Kitap silme işlemi için yine ID değerini kullanıyoruz. Bu işlem de oldukça basit. Kayıt ve Kitap listesinde arama olayına gelelim. Belli başlı arama butonları var gördüğünüz gibi ve hepsi aynı yerden aranacak sorguyu alıp arama yapıyor. Arama yaparken sadece ilk 1-2-3-4 harfi bile doğru yazsanız aramanız size sonuç verecektir. Büyük - Küçük harf arama sonuçlarını etkilemiyor bu arada. İstediğiniz büyüklükte yazabilirsiniz. Gördüğünüz gibi absürt bir şekilde yazmama rağmen sonuç verdi. Kimler, ne amaçla kullanabilir?Bu programı başta kurumsal kütüphaneler, okul kütüphaneleri gibi yerler kullanabilir. Programda herhangi bir güvenlik katmanı olmadığından burada verilerin güvenliği kullanan kişilerin elinde. Bunun için belki ileride bir çalışma yapılabilir. Ben bu programı kendi okulumda kullanmak için geliştirdim fakat daha sonrasında bunu topluma açık olarak paylaşma kararı aldım. Böylece herhangi bir ücret ödemeden, güvenilir bir şekilde bu programdan faydalanabileceksiniz. Programın geliştirilme motivasyonu Piyasada bulunan Kütüphane Yönetim Sistemi uygulamalarının çoğu Web tabanlı. Yani site ile işlemler hallediliyor. Ben bunu masaüstüne taşımayı hedefledim ve en sonunda da yaptım. Ayrıca bu proje, kendimi geliştirmek amacıyla hazırlamış olduğum bir proje. Bu proje sayesinde PyQt5 ile grafik arayüze sahip programlar hazırlama ve SQL öğrenmiş oldum. SonYazının başında da dediğim gibi sizlerden öneriler, eleştiriler istiyorum. Yapıcı olan her türlü öneri ve eleştiriye açığım. GitHub üzerinden projenin gelişmesine siz de katkıda bulunabilirsiniz. Büyük güncellemeler geldikçe bu konu içerisinde sürüm notları yayınlanacaktır. İlk sürüme ait herhangi bir sürüm notu bulunmamaktadır.

Gerçekten güzel bir program gibi duruyor. Elinize sağlık. Keşke okula önerebilsem...