Library Management System

A comprehensive CLI-based and Web-based solution for efficient library operations, designed to streamline book inventory, member management, and lending processes.

Library Management

Project Overview

The Library Management System is a robust application developed in Python, designed to automate essential library functions. It serves as a powerful tool for librarians to manage book inventories and member activities without the need for complex graphical interfaces. Its lightweight nature ensures high performance and simplicity, making it ideal for efficient library administration.

⚙️ Core Functionalities

  • Book ManagementAdd, update, search, and delete books with tracking for ID, title, author, and quantity.
  • Member ManagementMaintain a database of members, including contact info and borrowing history.
  • Issue & ReturnSeamlessly handle book lending and returns with automatic inventory updates.
  • Inventory ControlReal-time tracking of available books with low-stock alerts.
  • Search & DiscoveryPowerful search by title or author for quick book retrieval.

🛠 Technical Deep Dive

  • 🌐
    Web ApplicationModern UI/UX built with Flask for intuitive management.
  • 📊
    Data StructuresEfficient use of dictionaries and lists for rapid in-memory data access.
  • 💻
    CLIIntuitive command-line interface with structured menus.
  • 🧩
    Modular DesignCode organized into logical functions for maintainability.
  • 💾
    Data PersistenceAdaptable architecture for future database integration (MySQL, JSON).

Detailed Features

Book Management

  • Add/Edit book details
  • Search by title/author/genre
  • Real-time availability updates
  • Inventory auditing

Visitor Management

  • Register new members
  • Edit visitor details
  • Search functionality
  • Safe removal logic

Book Issuance

  • Streamlined issuing process
  • Automatic return date calculation
  • Price calculation
  • History tracking

User Management (Admin)

  • Add/Remove system users
  • Role-based access
  • Secure credential storage
  • User auditing

API & Method Reference

Admin Controller

controllers/admin_controller/admin_controller.py

add_users(username)Onboard new admin/staff users.
view_users()Review all registered users.
delete_user(username)Remove a user from the system.
edit_user(username)Modify existing user details.

Book Controller

controllers/reception_controller/book_controller.py

add_book(...)Add new books to inventory.
edit_book(id)Modify book details.
find_book_information()Search for books.
update_book_availability(id)Adjust stock levels.

Issue Controller

controllers/reception_controller/issue_controller.py

create_issue(...)Initiate a book loan.
return_book()Process book returns.

Visitor Controller

controllers/visitor_controller/visitor_controller.py

add_visitor(...)Register new library members.
edit_visitor(id)Update member details.
find_visitor_information()Locate member records.
View on GitHub