Skip to content

galaxywk223/library-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot + Vue 图书管理系统

图书管理系统是基于 Spring Boot 3 与 Vue 3 的课程设计项目,面向中小型图书馆、院系资料室和社团书库等场景。系统覆盖图书编目、读者管理、借阅归还、续借、罚款、采购入库、借阅规则配置和统计看板。

技术栈

  • 后端:Java 21、Spring Boot 3.2、MyBatis-Plus、Spring Security、JWT
  • 前端:Vue 3、TypeScript、Vite、Element Plus、ECharts、Pinia
  • 数据库:MySQL 8.0
  • 测试:JUnit、Maven、接口验证脚本

功能范围

管理端

  • 仪表盘:馆藏、借阅趋势、分类分布、热门图书统计。
  • 图书管理:图书增删改查、分类维护、库存跟踪、下架与重新上架。
  • 读者管理:读者注册、冻结与解冻、挂失处理、读者类型管理。
  • 借阅管理:借书、还书、续借、逾期检查、库存同步。
  • 罚款管理:罚款查看、部分或全额缴纳、罚款减免。
  • 借阅规则:按读者类型配置最大借阅数量、借阅天数、续借次数、罚款规则。
  • 采购入库:记录采购批次并自动增加库存。
  • 用户管理:账号启停、密码重置和角色控制。

读者端

  • 图书检索:按标题、作者、ISBN 和分类筛选。
  • 图书详情:展示馆藏状态、可借数量和基础信息。
  • 我的借阅:查看当前借阅、历史借阅、续借状态和罚款信息。

业务规则

规则 STUDENT TEACHER EXTERNAL
最大借阅数 10 20 5
借阅天数 30 60 14
最大续借次数 1 2 0
续借天数 15 30 -
逾期罚款/天 0.50 0.30 1.00

系统会拦截以下异常场景:

  • 读者被冻结、挂失、证件过期、存在逾期图书或未缴罚款。
  • 图书已下架或库存不足。
  • 续借次数超过规则限制。
  • 并发借阅导致库存竞争。

快速启动

1. 启动 MySQL

docker run -d --name library-mysql \
  -e MYSQL_ROOT_PASSWORD=root123 \
  -e MYSQL_DATABASE=library_system \
  -e MYSQL_USER=library \
  -e MYSQL_PASSWORD=library123 \
  -p 3306:3306 \
  --restart unless-stopped \
  mysql:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

2. 启动后端

cd backend
mvn spring-boot:run

后端默认运行在 http://localhost:8088。首次启动会自动建表并写入演示数据。

3. 启动前端

cd frontend
npm install
npm run dev

前端默认运行在 http://localhost:5173,并通过 Vite 代理访问后端接口。

默认账号

角色 用户名 密码 读者类型 权限
管理员 admin admin123 - 完整管理权限
读者 reader01 reader123 STUDENT 学生借阅规则
读者 reader02 reader123 STUDENT 学生借阅规则
读者 teacher01 teacher123 TEACHER 教师借阅规则

测试

后端单元测试

cd backend
mvn test

测试使用事务回滚,不污染数据库。测试覆盖登录、借阅规则、借书、还书、续借、冻结读者、挂失读者和下架图书等场景。

接口集成验证

bash scripts/test-api.sh

接口验证脚本覆盖认证、图书、读者、借阅、罚款、规则、采购和统计接口。

项目结构

library-management-system/
├── backend/
│   ├── src/main/java/com/library/
│   │   ├── config/
│   │   ├── controller/
│   │   ├── service/
│   │   ├── mapper/
│   │   ├── entity/
│   │   ├── dto/
│   │   ├── vo/
│   │   ├── common/
│   │   ├── exception/
│   │   └── util/
│   └── src/main/resources/
│       ├── application.yml
│       └── db/schema.sql
├── frontend/
│   └── src/
│       ├── api/
│       ├── layouts/
│       ├── pages/
│       ├── router/
│       ├── store/
│       └── types/
└── scripts/
    └── test-api.sh

许可证

本项目基于 MIT License 开源。

About

基于 Spring Boot 3 与 Vue 3 的图书管理系统课程设计,覆盖图书编目、读者管理、借阅归还、罚款、采购入库和统计看板。

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors