Library Management System with QR-based book tracking, digital ID cards, attendance monitoring, and email automation using Python & CustomTkinter.
A desktop-based Library Management System developed using Python and CustomTkinter. This application helps libraries manage members, books, QR-based book tracking, digital ID cards, attendance monitoring, and automated email notifications.
The Dashboard serves as the main navigation center of the application and provides quick access to all library services.
- Library Name Display
- Library Logo
- Home Button
- Add Member
- Add Book
- View User Information
- Book Services
- In Time / Out Time Tracking
- Exit Button
The dashboard allows librarians to manage all library operations from a single interface, making the system easy to use and navigate.
The Member Registration module is used to create and maintain library member records.
- Name
- Email Address
- Phone Number
- Date of Birth
The system stores the member details and uses them for identification, attendance tracking, and book transactions.
After registering a member, the system can automatically generate a digital library ID card.
- Unique Member ID
- Member Information Display
- QR Code Integration
- Virtual ID Card Creation
The generated ID card is displayed inside the application and can also be sent directly to the member's email address.
The Scan Member ID module allows librarians to quickly retrieve member information.
- Scan the member QR code.
- The system automatically fetches the stored information.
- Name
- Email Address
- Phone Number
- Date of Birth
This feature eliminates manual searching and speeds up member verification.
The Book Registration module is used to add new books to the library database.
- Book Name
- Book Number
Each registered book receives a unique identity within the system.
Once a book is registered, the system generates a unique QR code for that book.
- Easy Book Identification
- Fast Scanning Process
- Book Tracking
- Reduced Manual Entry
The QR code can be printed and attached to the physical book.
The Issue Book module manages book borrowing operations.
- Scan Member ID.
- Click Get Book.
- Enter Return Date.
- Scan Book QR Code.
The system records:
- Member Details
- Book Name
- Book Number
- Issue Date
- Return Date
An email notification containing all transaction details is automatically sent to the member.
The Return Book module manages book returns and updates library records.
- Select Return Book.
- Scan Member ID.
The system displays:
- Book Name
- Book Number
- Issue Date
- Return Date
- Actual Returned Date
A return confirmation email is automatically sent to the member.
The attendance tracking module records how long members spend inside the library.
When a member scans their ID for the first time:
- Entry time is recorded.
- User is marked as present inside the library.
When the same member scans again:
- Exit time is recorded.
- Current Visit Duration is calculated.
- Total Library Usage Duration is updated.
This feature helps libraries monitor member activity and usage statistics.
This module is used to create and configure the library system by setting up essential details such as library name, email, password, and phone number.
- Library Name
- Email Address
- Password
- Phone Number
The system uses these details for authentication, communication, and automated email services. This setup ensures that the library is properly configured before using other features like member registration, book management, and QR-based tracking.
This configuration is a one-time setup process that initializes the entire library management system.
- Python
- CustomTkinter
- QR Code Generation
- SMTP Email Automation
- PIL (Python Imaging Library)
- File Handling
These technologies work together to create a complete desktop-based library management solution.
- MySQL Database Integration
- Fine Calculation System
- Book Availability Tracking
- Advanced Search System
- Admin Authentication
- Reports and Analytics Dashboard
Dinesh
Python Developer | Software Development Enthusiast
GitHub: https://github.com/ceoa491-dev









