Sierra ILS Library Management System

OOP-based library management system with comprehensive functionality using Python with .NET design patterns and SOLID principles

Python OOP .NET Design Patterns SOLID Principles

Project Overview

Sierra ILS is a comprehensive library management system built with Python, implementing object-oriented programming principles and industry-standard design patterns. The system provides a complete solution for managing library operations including book cataloging, member management, and circulation control.

Key Highlights

  • Complete book management system with CRUD operations
  • Robust validation and error handling mechanisms
  • Dynamic menu systems for intuitive navigation
  • Implementation of SOLID principles for maintainable code
  • Object-oriented design patterns from .NET ecosystem
Project Info
  • Date: May 2025
  • Category: Python Development
  • Status: Completed
  • Team Size: Solo Project
  • Duration: 3 weeks
  • Lines of Code: 1,200+
  • Files: 12 modules

Key Features

Book Management

Complete CRUD operations for book catalog including add, update, delete, and search functionality with ISBN validation.

Member Management

Comprehensive member registration, profile management, and borrowing history tracking with automated notifications.

Circulation Control

Advanced check-in/check-out system with due date tracking, fine calculation, and automated overdue alerts.

Advanced Search

Multi-criteria search functionality allowing users to find books by title, author, ISBN, genre, or availability status.

Reporting System

Comprehensive reporting dashboard with statistics on book circulation, popular titles, and member activity.

Data Validation

Robust input validation and error handling to ensure data integrity and prevent system crashes.

Technical Implementation

Technologies Used

  • Python 3.x: Core programming language
  • Object-Oriented Programming: Class-based architecture
  • File I/O: Data persistence and management
  • Exception Handling: Robust error management
  • Regular Expressions: Input validation

Design Patterns Applied

  • Singleton Pattern: Library system instance
  • Factory Pattern: Object creation management
  • Observer Pattern: Event notifications
  • Repository Pattern: Data access layer

Architecture & Design

The system follows a layered architecture approach with clear separation of concerns:

Library Management System/
├── models/
│   ├── Book.py
│   ├── Member.py
│   └── Transaction.py
├── services/
│   ├── BookService.py
│   ├── MemberService.py
│   └── TransactionService.py
├── utils/
│   ├── Validator.py
│   └── FileManager.py
└── main.py
                            

SOLID Principles Implementation

  • S - Single Responsibility: Each class has a single, well-defined purpose
  • O - Open/Closed: Classes are open for extension, closed for modification
  • L - Liskov Substitution: Derived classes are substitutable for base classes
  • I - Interface Segregation: Clients depend only on methods they use
  • D - Dependency Inversion: High-level modules don't depend on low-level modules