This is simplified Library Management System implemented using OOP principles in Python. It support managing Books, Magazines, and DVDs ,as well as user registration, borrowing, returning, and reserving items - all through CLI Interface.
- View all available library items (Books, Magazines, DVDs)
- Search by item title or type
- Register new users
- Borrow and return items
- Reserve items (if supported)
- Load and save data to JSON files
- Full error handling using custom exceptions
- Encapsulation
- Abstraction (using ABC base classes)
- Interfaces (
Reservable) - Inheritance & Polymorphism (for items like
Book,DVD,Magazine,library_item) - Custom Exceptions (
ItemNotAvailableError,ItemNotFoundError, etc.) - File Handling with
json - Static vs Instance methods (
from_dict()vsto_dict())
- Clone or download the project files.
- Ensure
items.jsonandusers.jsonexist (or start with empty lists[]). - Open a terminal in the project directory and run
First you’ll see the CLI menu: Welcome to the Library System
- View all available items
- Search item by title or type
- Register as a new user
- Borrow an item
- Reserve an item
- Return an item
- Exit and Save
- Only Book and DVD support reservation.
- The system will keep asking for valid input unless you choose option 7 to exit.