Skip to content

Ajeet2611/Multi-Role-Library-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Library Management System

πŸš€ Advanced Full-Stack Python Project (Tkinter + MySQL)


🌟 Overview

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.


🎯 Key Highlights

  • πŸ” 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

πŸ–ΌοΈ Application Preview

πŸ”‘ Login Interface

Login

πŸ“Š Admin Dashboard

Dashboard


πŸ—οΈ System Architecture

User (GUI - Tkinter)
        ↓
Application Logic (Python Modules)
        ↓
Database Layer (MySQL)
        ↓
Data Storage (Tables & Relations)

🧠 Core Modules

πŸ” Authentication Module (auth.py)

  • Login validation (Users + Members)
  • Password hashing (bcrypt)
  • Role detection & routing

πŸ‘¨β€πŸ’Ό Admin Module

  • Book management (Add / Edit / Delete)
  • Issue & Return system
  • User management
  • Excel export
  • Messaging handling

πŸ‘€ User Module

  • View available books
  • Check issued books & fines
  • Send messages to admin
  • Change password

πŸ’¬ Messaging Module (messaging.py)

  • User β†’ Admin communication
  • Admin β†’ User reply system
  • Message lifecycle tracking

πŸ“Š Dashboard Module (dashboard_charts.py)

  • Pie chart (Active vs Inactive Users)
  • Bar chart (Role distribution)

πŸ—„οΈ Database Design

πŸ“Œ Main Tables

  • Users β†’ Authentication & roles
  • Books β†’ Library inventory
  • Members β†’ User details
  • Transactions β†’ Issue/Return records
  • Messages β†’ Communication system
  • Institutions β†’ Multi-organization support

βš™οΈ Installation Guide

πŸ“Œ Prerequisites

  • Python 3.10+
  • MySQL Server
  • pip

πŸ”§ Setup Steps

git clone https://github.com/Ajeet2611/Multi-Role-Library-Management-System.git
cd LibraryProject
python -m venv .venv
.\.venv\Scripts\activate
pip install mysql-connector-python bcrypt pillow openpyxl matplotlib

πŸ—„οΈ Database Setup

Update credentials in:

db.py

Then ensure database library_db and required tables exist.


▢️ Run Application

python gui_login.py

πŸ” Security Features

  • Password hashing using bcrypt
  • Role-based access control
  • Secure login validation
  • Input validation mechanisms

πŸ“Š Features Breakdown

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

πŸ“ Project Structure

LibraryProject/
β”œβ”€β”€ assets/
β”œβ”€β”€ admin_*.py
β”œβ”€β”€ gui_*.py
β”œβ”€β”€ db.py
β”œβ”€β”€ auth.py
β”œβ”€β”€ messaging.py
β”œβ”€β”€ security.py
β”œβ”€β”€ dashboard_charts.py
β”œβ”€β”€ main.py
└── README.md

πŸš€ Future Roadmap

  • 🌐 Web Version (Django / Flask)
  • πŸ“± Mobile App (Flutter)
  • ☁️ Cloud Database (Firebase / AWS)
  • πŸ”” Notification System (Email/SMS)
  • πŸ” Advanced Search & Filters
  • πŸ“Š AI-based Book Recommendation

πŸŽ₯ Demo (Optional)

πŸ‘‰ demo video link here (YouTube / Drive)


πŸ† Resume Value

This project showcases:

  • Full-stack development skills
  • GUI + Backend integration
  • Database design & queries
  • Security implementation
  • Real-world problem solving

πŸ‘¨β€πŸ’» Author

Ajeet Prasad πŸ“§ ajeetkumarbarh52@gmail.com πŸ”— www.linkedin.com/in/ajeet-prasad-dev


🀝 Contribution

Contributions are welcome! Fork the repo and submit a pull request.


⭐ Support

If you found this useful:

  • ⭐ Star the repo
  • 🍴 Fork it
  • πŸ”₯ Share with others

πŸ“Œ Final Note

This project is not just a college assignment β€” it is a complete real-world system design implementation demonstrating practical development skills.


About

No description, website, or topics provided.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages