A Python desktop application for efficient library record management featuring an intuitive Tkinter GUI, SQLite database persistence, and object-oriented design with inheritance.
The system follows an object-oriented design pattern with a base LibraryItem class that provides common functionality for checkout/checkin operations.
Book and Magazine classes extend the base class with specific attributes (pages vs issue_number). The Library class manages the catalog and coordinates database operations through SQLite.
Complete library management with persistence and intuitive interface
Complete CRUD operations for book collections with title, author, pages, and category tracking
Specialized handling for magazines with issue number tracking and publication metadata
Find items by title with instant search across the entire library catalog
Track item availability with checkout status management and validation
Clean Tkinter interface with styled buttons and dialog-based item entry
Automatic database initialization with table creation and data persistence
Interactive code browser - click on any file tab to explore the implementation
class LibraryItem:
def __init__(self, title, author, category):
self.title = title
self.author = author
self.category = category
self.checked_out = False
def check_out(self):
if not self.checked_out:
self.checked_out = True
return True
return False
def check_in(self):
if self.checked_out:
self.checked_out = False
return True
return False
class Book(LibraryItem):
def __init__(self, title, author, pages, category):
super().__init__(title, author, category)
self.pages = pages
def display_info(self):
return f"Title: {self.title}, Author: {self.author}, Pages: {self.pages}"
class Magazine(LibraryItem):
def __init__(self, title, author, issue_number, category):
super().__init__(title, author, category)
self.issue_number = issue_number
def display_info(self):
return f"Title: {self.title}, Issue: {self.issue_number}"Core programming language
GUI framework
Database engine
Class inheritance pattern
Explore the Library Management System interface and features

Main Interface

Book Management

Magazine Management

Search Feature

Check In/Out

Database View
"Clean code with proper OOP principles - building maintainable software through inheritance and encapsulation."
"تَعَبُ كُلّها الحَياةُ."
© 2025 Yousef Mahmoud | Data Engineering Portfolio