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.
- 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
- Find books by:
- Title
- Author name
- Publisher
- Genre / Category
- Year of publication
- Register library users.
- Delete books from the system.
- Keep track of borrowed and returned books.
- Borrow and return books.
- View borrowed book history.
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.
Install dependencies with:
pip install -r requirements.txtrequirements.txt includes:
colorama==0.4.6pyfiglet==1.0.3termcolor==3.1.0
- Clone or download the project.
- Install dependencies:
pip install -r requirements.txt
- Run the script:
python main.py
- 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! 😄
- 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.
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
This project is open-source and free to use for learning and educational purposes.