Library Management System built using Python and Object-Oriented Programming (OOP). This project supports core functionalities such as adding books and members, borrowing and returning books, and viewing records.
Description
This project is a console-based Library Management System developed using Python and Object-Oriented Programming (OOP) principles. It allows users to manage books, members, and borrowing transactions efficiently.
The system follows a structured flowchart and applies encapsulation using getters and setters, along with custom exception handling for better error management.
π Features π Add Book π€ Add Member π Borrow Book β Return Book π View Books π₯ View Members π View Loans (with status: Active / Closed) β Exit System
π§ OOP Concepts Applied
Encapsulation β private attributes with getters/setters Abstraction β service layer (LibraryService) Modularity β separated into multiple files Exception Handling β custom error classes
ποΈ Project Structure library-system/ β βββ book.py βββ member.py βββ loan.py βββ library_service.py βββ custom_exceptions.py βββ main.py
The program follows a menu-driven system:
User selects an option System processes request Displays result or error Returns to menu
π Loan Status System Active β Book is currently borrowed Closed β Book has been returned
β¨ Notes The system prevents borrowing unavailable books Ensures proper tracking of book availability Maintains clean and readable output
π¨βπ» Author Developed as part of a Computer Programming project.