Skip to content

AyshaVolidis/LibraryManagement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library_Management_System (OOP Python Project)

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.

Features:

  • 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

Concepts Used

  • 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() vs to_dict())

How To Run The Project

  1. Clone or download the project files.
  2. Ensure items.json and users.json exist (or start with empty lists []).
  3. Open a terminal in the project directory and run

First you’ll see the CLI menu: Welcome to the Library System

  1. View all available items
  2. Search item by title or type
  3. Register as a new user
  4. Borrow an item
  5. Reserve an item
  6. Return an item
  7. Exit and Save

Notes

  1. Only Book and DVD support reservation.
  2. The system will keep asking for valid input unless you choose option 7 to exit.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages