Skip to content

Rabbit Hole Library System is a Python-based OOP project that lets staff manage books, users, and borrowing with ease. Features include book cataloging, search & filter by title, author, publisher, genre, or year, plus user registration and returns, all in a colorful CLI experience.

License

Notifications You must be signed in to change notification settings

razielapps/rabbithole_library

Repository files navigation

🐇 Rabbit Hole Library System

The Rabbit Hole Library System is a Python-based final project built as part of the Python Session in my ongoing Cyber Security Course at HiiT.
It is a lightweight but feature-rich system designed to manage a library efficiently with both staff and user functionalities.


📖 Features

✅ Book Management

  • Add, view, and manage books in the library.
  • Each book contains:
    • Title
    • Author (with title, first name, last name)
    • Publisher (name & year established)
    • Publishing year
    • Serial number
    • Genre/category

🔍 Book Search / Filter

  • Find books by:
    • Title
    • Author name
    • Publisher
    • Genre / Category
    • Year of publication

👩‍💼 Staff Features

  • Register library users.
  • Delete books from the system.
  • Keep track of borrowed and returned books.

👤 User Features

  • Borrow and return books.
  • View borrowed book history.

🗄️ Database Structure

The system uses a Python dictionary-based database structure to store:

  • Books
  • Staff members
  • Library users
  • Publishers
  • Borrowing records

This allows flexibility in managing and expanding the system.


🛠️ Requirements

Install dependencies with:

pip install -r requirements.txt

requirements.txt includes:

  • colorama==0.4.6
  • pyfiglet==1.0.3
  • termcolor==3.1.0

🚀 Getting Started

  1. Clone or download the project.
  2. Install dependencies:
    pip install -r requirements.txt
  3. Run the script:
    python main.py

🎯 Special Notes

  • This project was completed as the final project for the Python Session in my Cyber Security Course at HiiT.
  • Special credit goes to Mr. Godwin, our passionate teacher, who takes the time to ensure we fully understand the concepts.
  • This course has significantly improved my programming skills, allowing me to solve problems more easily and approach projects with an OOP mindset—without breaking my head! 😄

📌 To-Do / Future Enhancements

  • Add support for exporting database to external files (JSON/CSV).
  • Implement a simple authentication layer for staff and users.
  • Add due date reminders for borrowed books.
  • Enhance search with partial matching (e.g., fuzzy search).
  • Create a basic GUI version for better interaction.

🏷️ Keywords

Python Library System, Library Management Python, Book Borrowing Script, Python Final Project,
Cyber Security Course Projects, Rabbit Hole Library, Python OOP Projects,
Library Staff User System, Python Database Project, Educational Library Script


📚 License

This project is open-source and free to use for learning and educational purposes.

About

Rabbit Hole Library System is a Python-based OOP project that lets staff manage books, users, and borrowing with ease. Features include book cataloging, search & filter by title, author, publisher, genre, or year, plus user registration and returns, all in a colorful CLI experience.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages