FLOWCHART OF OVERALL PROJECT:
The GPH Library – Smart Library Management System follows a three-layer architecture consisting of:
Presentation Layer (Frontend)
Application Layer (Backend)
Database Layer (MySQL Database)
The system is developed using Flask as the backend framework and MySQL as the database management system. Different users such as Students, Teachers, and Admin/Librarian interact with the system through separate portals.
The frontend is designed using:
HTML
CSS
JavaScript
Bootstrap
This layer provides the graphical user interface for:
Student Portal
Teacher Portal
Admin Dashboard
The frontend is responsible for:
displaying forms
showing dashboards
handling user interaction
displaying notifications
responsive UI design
Modern GenZ-style UI components, animations, cards, badges, and responsive layouts are used to improve user experience.
The backend is developed using:
Python Flask
This layer handles:
user authentication
session management
request processing
business logic
OTP verification
fine calculation
renewal management
book issue workflow
email sending
file uploads
Flask routes and controllers connect the frontend with the database.
Important backend functionalities include:
student registration approval
teacher registration approval
password hashing
OTP-based password reset
due-date reminder system
book renewal workflow
question paper approval system
The database layer uses:
MySQL
It stores all project data securely.
Main database tables include:
students
teachers
books
borrow_requests
issued_books
renew_requests
question_papers
notifications
password_reset_otps
The database handles:
data storage
data retrieval
relationship management
transaction handling
Student fills registration form.
Registration request is sent to admin.
Admin approves or rejects the request.
After approval, student can log in using roll number and password.
Student enters roll number and password.
System verifies credentials from database.
Password is verified using hashed authentication.
Session is created after successful login.
Student searches for books.
Student requests a book and selects required duration.
Request is sent to admin.
Admin approves the request.
Book is issued to the student.
Due date is generated automatically.
System continuously checks due dates.
If due date expires:
overdue status becomes active
fine starts automatically
Fine is calculated as:
₹10 per overdue day
Warning notifications and emails are sent to students.
Student requests renewal of issued book.
Admin reviews renewal request.
If approved:
due date is extended
Fine system updates automatically.
Teacher registers using Staff ID.
Admin approves registration.
Teacher logs in.
Teacher uploads previous year question papers.
Admin approves uploaded papers.
Approved papers become visible to students.
User clicks “Forgot Password”.
OTP is sent to registered email.
User enters OTP.
OTP is verified.
User resets password securely.
Admin uploads Excel sheet.
System reads data using Pandas/OpenPyXL.
Student accounts are created automatically.
Temporary passwords are generated.
Credentials are sent through email.
The system implements multiple security features:
Password hashing
Session-based authentication
OTP verification
Admin approval workflow
Secure file upload validation
Protected routes for admin and teachers