A production-style Library Management System built with Python (Tkinter GUI) and MySQL, designed to handle real-world library operations with secure authentication, role-based access, analytics dashboards, and messaging system.
This project demonstrates full-stack desktop application development, including UI, backend logic, database design, and security implementation.
- π Secure Authentication using bcrypt hashing
- π₯ Role-Based Access Control (Super Admin / Admin / User)
- π Complete Book Management System
- π Issue & Return System with Auto Fine Calculation
- π Interactive Dashboard using Matplotlib
- π¬ Real-time Messaging System (User β Admin)
- π€ Excel Export Feature
- π§ Clean Modular Architecture
User (GUI - Tkinter)
β
Application Logic (Python Modules)
β
Database Layer (MySQL)
β
Data Storage (Tables & Relations)
- Login validation (Users + Members)
- Password hashing (bcrypt)
- Role detection & routing
- Book management (Add / Edit / Delete)
- Issue & Return system
- User management
- Excel export
- Messaging handling
- View available books
- Check issued books & fines
- Send messages to admin
- Change password
- User β Admin communication
- Admin β User reply system
- Message lifecycle tracking
- Pie chart (Active vs Inactive Users)
- Bar chart (Role distribution)
- Users β Authentication & roles
- Books β Library inventory
- Members β User details
- Transactions β Issue/Return records
- Messages β Communication system
- Institutions β Multi-organization support
- Python 3.10+
- MySQL Server
- pip
git clone https://github.com/Ajeet2611/Multi-Role-Library-Management-System.git
cd LibraryProjectpython -m venv .venv
.\.venv\Scripts\activatepip install mysql-connector-python bcrypt pillow openpyxl matplotlibUpdate credentials in:
db.pyThen ensure database library_db and required tables exist.
python gui_login.py- Password hashing using bcrypt
- Role-based access control
- Secure login validation
- Input validation mechanisms
| Feature | Description |
|---|---|
| π Login System | Secure login with role-based routing |
| π Book Management | Add, edit, delete, track books |
| π Issue/Return | Fine calculation (βΉ5/day) |
| π Dashboard | Data visualization with charts |
| π¬ Messaging | User-admin communication |
| π€ Export | Excel export using openpyxl |
LibraryProject/
βββ assets/
βββ admin_*.py
βββ gui_*.py
βββ db.py
βββ auth.py
βββ messaging.py
βββ security.py
βββ dashboard_charts.py
βββ main.py
βββ README.md
- π Web Version (Django / Flask)
- π± Mobile App (Flutter)
- βοΈ Cloud Database (Firebase / AWS)
- π Notification System (Email/SMS)
- π Advanced Search & Filters
- π AI-based Book Recommendation
π demo video link here (YouTube / Drive)
This project showcases:
- Full-stack development skills
- GUI + Backend integration
- Database design & queries
- Security implementation
- Real-world problem solving
Ajeet Prasad π§ ajeetkumarbarh52@gmail.com π www.linkedin.com/in/ajeet-prasad-dev
Contributions are welcome! Fork the repo and submit a pull request.
If you found this useful:
- β Star the repo
- π΄ Fork it
- π₯ Share with others
This project is not just a college assignment β it is a complete real-world system design implementation demonstrating practical development skills.

