🐍 Python Project🖥️ Desktop Application💾 SQLite Database

Library ManagementSystem

A Python desktop application for efficient library record management featuring an intuitive Tkinter GUI, SQLite database persistence, and object-oriented design with inheritance.

Python
Python 3
Tkinter GUI
SQLite
SQLite
OOP Design

Architecture Overview

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.

Key Features

Complete library management with persistence and intuitive interface

Book Management

Complete CRUD operations for book collections with title, author, pages, and category tracking

Magazine Management

Specialized handling for magazines with issue number tracking and publication metadata

Catalog Search

Find items by title with instant search across the entire library catalog

Check-in/Check-out

Track item availability with checkout status management and validation

Intuitive GUI

Clean Tkinter interface with styled buttons and dialog-based item entry

SQLite Persistence

Automatic database initialization with table creation and data persistence

Code Showcase

Interactive code browser - click on any file tab to explore the implementation

LibrarySystem_GUI.py - OOP Classes

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}"

Technology Stack

Python 3

Core programming language

Tkinter

GUI framework

SQLite

Database engine

OOP Design

Class inheritance pattern

Application Screenshots

Explore the Library Management System interface and features

Library System - Main Interface

Main Interface

Library System - Book Management

Book Management

Library System - Magazine Management

Magazine Management

Library System - Search Feature

Search Feature

Library System - Check In/Out

Check In/Out

Library System - Database View

Database View

"Clean code with proper OOP principles - building maintainable software through inheritance and encapsulation."
— Python Desktop Application Project

"تَعَبُ كُلّها الحَياةُ."

© 2025 Yousef Mahmoud | Data Engineering Portfolio