● Current Version: 3.0.0 ● Geçerli Sürüm: 3.0.0
| Language / Dil | Status / Durum |
|---|---|
| English | Coming Soon |
| Türkçe | ✅ |
This project is a modern JavaFX-based personal library management system developed using Java and Object-Oriented Programming (OOP) principles.
Multiple users can register and log into the system, add books they have read, and view their personal reading lists.
Each user manages their own books independently, and all data is stored persistently using a JSON file.
Whenever a book is added, the system automatically saves the updated data.
The project focuses on practicing:
- Object-Oriented Programming (OOP)
- Class responsibility separation
- JSON-based data persistence
- JavaFX-based graphical user interface (GUI)
- 🖥️ Modern JavaFX Desktop Interface (Completely replaces console UI)
- 👤 User and Admin role-based registration & login system
- 🔐 Secure authentication with password requirements
- 📚 Personal Bookshelf: Add, edit, and track reading status & ratings for your books
- 🏛️ Library System: Borrow and return books with live copy tracking
- ⚙️ Smart Editing: Intelligent field locking depending on whether the book is personal or from the library
- 👑 Admin Panel: Complete control to add/edit/delete books, manage users, and view active loans
- 💾 Persistent data storage with automatic JSON saves
- 🧱 Strong Object-Oriented design (Library, User, Book, Loan classes)
javac -cp ".:lib/json.jar" Codes/*.javajava -cp ".:lib/json.jar:Codes" MainLibraryjavbash
javac -cp ".;lib/json.jar" Codes\*.javajava -cp ".;lib/json.jar;Codes" MainLibraryBu proje, Java ve Nesne Yönelimli Programlama (OOP) prensipleri kullanılarak geliştirilmiş modern JavaFX tabanlı bir kütüphane ve kitaplık yönetim sistemidir.
Birden fazla kullanıcı sisteme kayıt olabilir, giriş yapabilir ve okudukları kitapları kendi hesaplarına ekleyebilir.
Her kullanıcı kendi kitap listesini bağımsız olarak yönetir ve tüm veriler JSON dosyası kullanılarak kalıcı olarak saklanır.
Her kitap eklendiğinde sistem otomatik olarak verileri JSON dosyasına kaydeder.
Projenin amacı:
- OOP tasarım pratiği yapmak
- Sınıf sorumluluklarını doğru ayırmak
- JSON ile veri kalıcılığı sağlamak
- JavaFX ile Masaüstü Arayüz (GUI) geliştirmeyi öğrenmek
- 🖥️ Modern JavaFX Masaüstü Arayüzü (Konsol yapısından tamamen GUI'ye geçiş)
- 👤 Kullanıcı ve Admin rolleri ile kayıt & giriş sistemi
- 🔐 Şifre gereksinimli güvenli kimlik doğrulama mekanizması
- 📚 Kişisel Kitaplık: Kitap ekleme, okuma durumu ve puan güncelleme
- 🏛️ Kütüphane Sistemi: Kopya takibi ile kitap ödünç alma ve iade etme
- ⚙️ Akıllı Düzenleme: Kütüphaneden alınan ile kişisel kitapları ayırıp formda özel kilitleme mantığı
- 👑 Admin Paneli: Kitapları, kullanıcıları yönetme ve tüm ödünç (Loan) işlemlerini takip etme
- 💾 JSON ile verilerin otomatik ve kalıcı olarak saklanması
- 🧱 Güçlü Nesne Yönelimli Programlama tasarımı (Library, User, Book, Loan sınıfları)
javac -cp ".:lib/json.jar" Codes/*.javajava -cp ".:lib/json.jar:Codes" MainLibraryjavbash
javac -cp ".;lib/json.jar" Codes\*.javajava -cp ".;lib/json.jar;Codes" MainLibrary| Version | Date | Description |
|---|---|---|
| v3.0.0 | 2026-09-16 | Migrated project to a JavaFX Desktop Application, completely removing terminal interfaces / Proje JavaFX Masaüstü Uygulamasına taşındı, terminal arayüzleri tamamen kaldırıldı |
| v2.4.0 | 2026-08-27 | 80 books and their copies have been added to library / 80 kitap ve kopyaları kütüphaneye eklendi |
| v2.3.0 | 2026-08-26 | Input manager and comment lines have been created / Girdi yönetimi ve yorum satırları oluşturuldu |
| v2.2.0 | 2026-08-25 | Library system has been created. / Kütüphane sistemi oluşturuldu |
| v2.1.0 | 2026-08-22 | Loan class has been created. Borrow and return dates have been logged / Loan class'ı oluşturuldu. Ödünç alma-verme tarihleri loglanmaya başlandı |
| v2.0.0 | 2026-08-21 | Redesigned the library and bookshelf system. Added ReadingRecord, LibraryBook, reading status, book source tracking and Borrowable interface / Kütüphane ve kitaplık sistemi yeniden tasarlandı. ReadingRecord, LibraryBook, okuma durumu, kitap kaynağı takibi ve Borrowable interface’i eklendi. |
| v1.3.0 | 2026-08-04 | Added category, reading status, and rating information for books / Kitaplar için kategori, okuma durumu ve puanlama eklendi |
| v1.2.2 | 2026-08-03 | Bug has been fixed in capitalize words function / Capitalize word fonksiyonundaki bug düzeltildi |
| v1.2.1 | 2026-07-22 | Reading list menu has been improved / Okuma listesi menüsü iyileştirildi |
| v1.2.0 | 2026-07-20 | Refactored the project structure by separating menu handling and username/password validation into dedicated classes / Proje yapısı yeniden düzenlendi, menü yönetimi ile kullanıcı adı ve şifre doğrulama işlemleri ayrı sınıflara taşındı |
| v1.1.0 | 2026-02-22 | Password requirements have been created / Şifre gereksinimleri eklendi |
| v1.0.3 | 2026-02-21 | Min password length requirement has been added / Minimum şifre uzunluğu gerekliliği eklendi |
| v1.0.2 | 2026-02-18 | Automatically capitalize the first letter of book and author names / Kitap ve yazar adlarının ilk harflerini otomatik büyütme eklendi |
| v1.0.1 | 2026-02-17 | Checking password method has been created / Parola kontrolü metodu oluşturuldu |
| v1.0.0 | 2026-02-14 | Initial release / İlk sürüm |