[Open Source] An Intelligent GPT Library Management System Integrated with the GPT API, Supporting an AI-Powered Smart Library
![[Open Source] An Intelligent GPT Library Management System Integrated with the GPT API, Supporting an AI-Powered Smart Library](https://yy123.ink/api/img/1782602535497-crdflu.jpg)
1. Project Overview
Intelligent GPT Library Management System (SpringBoot2 + Vue2). Features include a global exception handler, login verification interceptor, Echarts borrowing statistics, and optional web scraping functionality for retrieving book data. API authentication uses JWT. Backend CORS support. HTTP Status Codes indicate response status. Data is returned in JSON format. Integrates with the GPT API to support an AI-powered smart library.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots
Feature Demonstration Screenshots
User Module Feature Overview
Login

Homepage Carousel Demonstration

Book Search Demonstration

Reader Rules Demonstration

Announcement Viewing Demonstration

Personal Information Demonstration

Borrowing Information Demonstration

Violation Information Demonstration

Reader Message Board Demonstration

Smart Recommendations Demonstration

Librarian Module Feature Overview
Book Borrowing Demonstration

Book Return Demonstration

Borrowing Report Demonstration

Book Return Report Demonstration

Announcement Publishing Demonstration

System Administrator Module Feature Overview
-
Due to space limitations, only the main system features are presented.
System Management Demonstration


Intelligent Analytics Demonstration

4. Feature Overview
Detailed Project Introduction (Highlights)
-
This project adopts a frontend-backend separated architecture. The frontend builds the user interface, while the backend provides data APIs. The frontend retrieves data by calling the backend APIs and then re-renders the pages.
-
CORS support is enabled on the backend.
-
API authentication uses Token-based authentication.
-
The frontend provides the token in the Authorization field.
-
HTTP Status Codes are used to indicate response status.
-
Data is returned in JSON format.
-
The backend uses permission interceptors to verify access permissions and check login status.
-
A global exception-handling mechanism is implemented to catch exceptions and improve system robustness.
-
The frontend uses the Echarts visualization library to create book borrowing analytics charts (line charts and pie charts), with loading configurations to improve the loading experience.
-
The message board component uses a scrolling bullet-screen format to match user preferences.
-
The knife4j dependency is integrated to automatically generate OpenAPI-compliant API documentation using Swagger + Knife4j. The frontend can then use plugins to automatically generate API request code based on this documentation, reducing frontend-backend collaboration costs.
-
The ElementUI component library is used to build the frontend interface, enabling rapid page development. The system also implements unified frontend-backend permission management and multi-environment switching.
-
QueryWrapper from the MyBatis Plus framework enables flexible queries against the MySQL database. Combined with the MyBatisX plugin, it automatically generates basic backend CRUD code, reducing repetitive work.
⭐ User Module Feature Introduction

-
Book Search: A pagination builder helps reduce the load caused by large datasets. The backend can limit the number of requests to prevent excessive crawler traffic and server load. Fuzzy search is supported for field-based searches. All tables can be exported to PDF and EXCEL.
-
Reader Rules: View the current borrowing rules, including borrowing ID, maximum number of books that can be borrowed, borrowing period, eligible library, and overdue fees per day.
-
View Announcements: Browse the list of announcements published by librarians, with scrolling text. ⭐
-
Personal Information: View your library card number, cardholder name, rule ID, and account status. You can also change your account password.
-
Borrowing Information: View your personal borrowing history and book return records.
-
Violation Information: Check whether any violations have been recorded for books you have returned.
-
Reader Messages: Provides a message board feature with messages displayed in a scrolling bullet-screen format.
⭐ Librarian Module Feature Introduction

-
Borrow Books: The librarian enters the library card number (user), the book ID to be borrowed, and the current date and time, then clicks Borrow.
-
Return Books: Enter a book ID to check whether the book is overdue. You can also set violation details and then choose whether to complete the return.
-
Borrowing Reports: View the list of books that have been borrowed and returned. Supports pagination and fuzzy field searches. Displays library card number, book ID, borrowing date, due date, return date, violation details, and handler.
-
Return Reports: View the list of books that have been borrowed but not yet returned. Displays library card number, book ID, borrowing date, and due date.
-
Publish Announcements: View the current list of announcements and perform delete, edit, and add operations. Pagination helps handle large datasets.
⭐ System Administrator Module Feature Introduction

-
Book Management: View all currently available books, including book ID, book title, author, library, category, location, status, and description. Supports adding, editing, and deleting books. Pagination enables batch queries, while fuzzy search provides book searching functionality. Plugins enable PDF and EXCEL exports.
-
Book Categories: View all existing book categories and add, edit, or delete categories. Pagination supports batch queries and reduces database load.
-
Library Card Management: View the list of all library cards, representing the total number of users. Supports adding, editing, and deleting records. Pagination is also implemented.
-
Borrowing Record Management: View completed borrowing and return records. Displays library card number, book ID, borrowing date, due date, return date, violation details, and handler. Supports pagination and PDF and EXCEL exports.
-
Borrowing Rules Management: View all current borrowing rules, including maximum borrowing period, maximum number of books, eligible libraries, and overdue fees. Supports adding, deleting, and editing rules.
-
Librarian Management: View the current list of librarians, including account, name, and email. Supports adding, deleting, and editing records.
-
System Management: View monthly borrowing statistics. Borrowing volumes are calculated at weekly intervals and displayed as line charts using Echarts.
Recent Updates:
-
Added an intelligent recommendation page that allows users to interact with AI. Users can enter their preferences, such as the types of books they like, and the AI analyzes the existing database to generate personalized recommendations. Uses a domestic AI model with an OpenAI-based backend.
-
Added an intelligent analytics page. Users can enter analysis objectives, chart types, and Excel files. AI generates analytical conclusions and visual charts, significantly improving efficiency and reducing manual analysis costs.
-
Switched the AI model used for user conversations to Alibaba's Tongyi Qianwen Plus model, with support for multi-turn conversation history. The iFlytek Spark AI model is no longer used, but its utility tools are retained. This change primarily aims to provide faster responses. Alibaba also offers more comprehensive documentation and supports customized prompts. When users enter content unrelated to book recommendations, the AI can directly refuse to respond.
5. Tech Stack
Architecture

Technical Stack Introduction
Main Frontend Technology Stack
|
Technology |
Function |
Version |
|
Vue |
Provides frontend interactions |
2.6.14 |
|
Vue-Router |
Route-based navigation |
3.5.1 |
|
Element-UI |
Modular component library for building interfaces |
2.4.5 |
|
Axios |
Sends AJAX requests to the backend to retrieve data |
1.2.1 |
|
core-js |
Enhanced compatibility and browser adaptation |
3.8.3 |
|
swiper |
Carousel plugin (for rapid implementation) |
3.4.2 |
|
vue-baberrage |
Vue bullet-screen plugin (for implementing the message board) |
3.2.4 |
|
vue-json-excel |
Export tables to Excel |
0.3.0 |
|
html2canvas+jspdf |
Export tables to PDF |
1.4.1 2.5.1 |
|
node-polyfill-webpack-plugin |
Webpack 5 removed automatic polyfill injection for Node.js core modules. |
2.0.1 |
|
default-passive-events |
Chrome introduced a new event handling mechanism: Passive Event Listeners. |
Makes page scrolling smoother, primarily improving scrolling performance on mobile devices. |
|
nprogress |
Displays a progress bar when sending requests (improves user experience). |
0.2.0 |
|
echarts |
A powerful tool for converting data into charts. |
5.4.1 |
|
less lessloader |
Simplifies CSS styling development. |
4.1.3 11.1.0 |
Main Backend Technology Stack
|
Technology and Version |
Function |
Version |
|
SpringBoot |
Application Development Framework |
2.7.8 |
|
JDK |
Java Development Kit |
1.8 |
|
MySQL |
Provides the backend database |
8.0.23 |
|
MyBatisPlus |
Provides database connectivity and convenient CRUD operations. |
3.5.1 |
|
SpringBoot-Configuration-processor |
Configuration Processor: Classes defined for configuration processing and configuration files are generally not automatically linked with code hints. A configuration processor can be added to generate corresponding code suggestions. |
|
|
SpringBoot-Starter-Web |
Integrates Tomcat MVC into the backend. |
Used for frontend-backend communication. |
|
SpringBoot-starter-test |
Junit4 Unit Testing: Before the frontend calls an API, the backend first uses unit tests to perform CRUD operations. Pay attention to Junit4 and Junit5 compatibility, and check whether the @RunWith annotation is required. |
|
|
Lombok |
Quick generation of entity class methods to simplify code. |
|
|
mybatis-plus-generator |
Code Generator |
3.5.1 |
|
MyBatisX |
The MyBatisPlus plugin directly generates mapper, entity, and service classes. |
|
|
jjwt |
Token utility library |
0.9.0 |
|
fastjson |
Alibaba's JSON object conversion utility |
1.2.83 |
|
hutool |
Hutool utility library (simplifies development utilities) |
Documentation |