# LibraryManagementSystem **Repository Path**: ccyang0311/library-management-system ## Basic Information - **Project Name**: LibraryManagementSystem - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-04 - **Last Updated**: 2024-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图书管理系统 ``` 当前最新版本: 0.0.1 ``` [项目地址](https://gitee.com/ccyang0311/library-management-system.git ) https://gitee.com/ccyang0311/library-management-system.git 分支 v0.0.1 ## 项目介绍 本项目旨在开发一个基于 "JeecgBoot低代码开发平台"实现 的图书管理系统,用于管理图书馆内的书籍信息、作者信息、出版社信息以及借阅记录。系统将包括书籍的基本信息管理、作者信息管理、出版社信息管理、用户信息管理和借阅记录管理等功能模块。 #### 项目说明 | 项目名 | 说明 | | ---------------- | --------------------------------------- | | `jeecg-boot` | 后端源码JAVA(SpringBoot微服务架构) | | `jeecgboot-vue3` | 前端源码VUE3(vue3+vite5+ts最新技术栈) | ## 启动项目 - [IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) ## 技术架构: #### 后端 - IDE建议: IDEA (必须安装lombok插件 ) - 语言:Java 8+ (支持17) - 依赖管理:Maven - 基础框架:Spring Boot 2.7.18 - 微服务框架: Spring Cloud Alibaba 2021.0.1.0 - 持久层框架:MybatisPlus 3.5.3.2 - 报表工具: JimuReport 1.8.1 - 安全框架:Apache Shiro 1.12.0,Jwt 3.11.0 - 微服务技术栈:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking - 数据库连接池:阿里巴巴Druid 1.1.22 - 日志打印:logback - 缓存:Redis - 其他:autopoi, fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。 - 默认数据库脚本:MySQL5.7+ - [其他数据库,需要自己转](https://my.oschina.net/jeecg/blog/4905722) #### 前端 - 前端IDE建议:WebStorm、Vscode - 采用 Vue3.0+TypeScript+Vite+Ant-Design-Vue等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能 - 最新技术栈:Vue3.0 + TypeScript + Vite5 + ant-design-vue4 + pinia + echarts + unocss + vxe-table + qiankun + es6 - 依赖管理:node、npm、pnpm ## 后台目录结构 ```txt 项目结构 ├─jeecg-boot-parent(父POM: 项目依赖、modules组织) │ ├─jeecg-boot-base-core(共通模块: 工具类、config、权限、查询过滤器、注解等) │ ├─jeecg-module-demo 示例代码 │ ├─jeecg-module-system System系统管理目录 │ │ ├─jeecg-system-biz System系统管理权限等功能 │ │ ├─jeecg-system-start System单体启动项目(8080) │ │ ├─jeecg-system-api System系统管理模块对外api │ │ │ ├─jeecg-system-cloud-api System模块对外提供的微服务接口 │ │ │ ├─jeecg-system-local-api System模块对外提供的单体接口 │ ├─jeecg-server-cloud --微服务模块 ├─jeecg-cloud-gateway --微服务网关模块(9999) ├─jeecg-cloud-nacos --Nacos服务模块(8848) ├─jeecg-system-cloud-start --System微服务启动项目(7001) ├─jeecg-demo-cloud-start --Demo微服务启动项目(7002) ├─jeecg-visual ├─jeecg-cloud-monitor --微服务监控模块 (9111) ├─jeecg-cloud-xxljob --微服务xxljob定时任务服务端 (9080) ├─jeecg-cloud-sentinel --sentinel服务端 (9000) ├─jeecg-cloud-test -- 微服务测试示例(各种例子) ├─jeecg-cloud-test-more -- 微服务测试示例(feign、熔断降级、xxljob、分布式锁) ├─jeecg-cloud-test-rabbitmq -- 微服务测试示例(rabbitmq) ├─jeecg-cloud-test-seata -- 微服务测试示例(seata分布式事务) ├─jeecg-cloud-test-shardingsphere -- 微服务测试示例(分库分表) ``` ## 系统架构 ### 模块划分 #### 1. 图书信息管理 (`book`) - 书名 (`title`) - 作者 (`author`) - 出版社 (`publisher`) - ISBN (`isbn`) - 封面图片路径 (`coverImagePath`) - 是否可借 (`isAvailable`) - 创建时间 (`createdAt`) #### 2. 作者信息管理 (`author`) - 姓名 (`name`) - 生平简介 (`bio`) - 出生日期 (`birthDate`) #### 3. 出版社信息管理 (`publisher`) - 名称 (`name`) - 成立日期 (`establishedDate`) - 地址 (`address`) #### 4. 用户信息管理 (`user`) - 用户名 (`username`) - 密码 (`password`) - 姓名 (`name`) - 角色 (`role`) (如:管理员、普通用户) #### 5. 借阅记录管理 (`borrowRecord`) - 借阅用户 (`borrower`) - 借阅图书 (`book`) - 借阅日期 (`borrowDate`) - 归还日期 (`returnDate`) ### 功能描述 #### 1. 图书信息管理 - **增加图书**: 管理员可以添加新的图书信息。 - **删除图书**: 管理员可以删除图书信息。 - **编辑图书**: 管理员可以编辑图书的信息。 - **查询图书**: 用户可以按照书名、作者或出版社等条件查询图书。 #### 2. 作者信息管理 - **增加作者**: 管理员可以添加新的作者信息。 - **删除作者**: 管理员可以删除作者信息。 - **编辑作者**: 管理员可以编辑作者的信息。 - **查询作者**: 用户可以按照姓名或出生日期等条件查询作者。 #### 3. 出版社信息管理 - **增加出版社**: 管理员可以添加新的出版社信息。 - **删除出版社**: 管理员可以删除出版社信息。 - **编辑出版社**: 管理员可以编辑出版社的信息。 - **查询出版社**: 用户可以按照名称或成立日期等条件查询出版社。 #### 4. 用户信息管理 - **增加用户**: 管理员可以添加新的用户信息。 - **删除用户**: 管理员可以删除用户信息。 - **编辑用户**: 管理员可以编辑用户的信息。 - **查询用户**: 用户可以按照用户名或角色等条件查询用户。 #### 5. 借阅记录管理 - **借阅图书**: 用户可以选择图书进行借阅。 - **归还图书**: 用户可以归还借阅的图书。 - **查询借阅记录**: 用户可以查询自己的借阅记录。 - **超期提醒**: 系统会自动发送超期提醒给用户。 ## 数据库设计 ### 数据表结构 #### 1. 图书表 (`books`) | 字段名 | 数据类型 | 描述 | |--------------|---------|------------------| | id | INT | 主键,自增长 | | title | VARCHAR | 书名 | | author | VARCHAR | 作者 | | publisher | VARCHAR | 出版社 | | isbn | VARCHAR | ISBN | | cover_image_path | VARCHAR | 封面图片路径 | | is_available | TINYINT | 是否可借(1:是,0:否) | | created_at | DATETIME | 创建时间 | #### 2. 作者表 (`authors`) | 字段名 | 数据类型 | 描述 | |---------|---------|------------------| | id | INT | 主键,自增长 | | name | VARCHAR | 姓名 | | bio | TEXT | 生平简介 | | birth_date | DATE | 出生日期 | #### 3. 出版社表 (`publishers`) | 字段名 | 数据类型 | 描述 | |-------------|---------|------------------| | id | INT | 主键,自增长 | | name | VARCHAR | 名称 | | established_date | DATE | 成立日期 | | address | VARCHAR | 地址 | #### 4. 用户表 (`users`) | 字段名 | 数据类型 | 描述 | |---------|---------|------------------| | id | INT | 主键,自增长 | | username | VARCHAR | 用户名 | | password | VARCHAR | 密码 | | name | VARCHAR | 姓名 | | role | VARCHAR | 角色 | #### 5. 借阅记录表 (`borrow_records`) | 字段名 | 数据类型 | 描述 | |-------------|---------|------------------| | id | INT | 主键,自增长 | | borrower_id | INT | 借阅用户ID | | book_id | INT | 借阅图书ID | | borrow_date | DATETIME | 借阅日期 | | return_date | DATETIME | 归还日期 | ## 界面设计 ### 登录界面 - 用户名输入框 - 密码输入框 - 登录按钮 ### 主界面 - 导航栏:包含各个功能模块的链接 - 内容区:展示当前选中模块的内容 ### 功能模块界面 #### 图书信息管理界面 - 列表视图:展示所有图书的信息 - 搜索框:允许用户搜索图书 - 添加按钮:允许管理员添加新的图书信息 - 编辑按钮:允许管理员编辑图书信息 - 删除按钮:允许管理员删除图书信息 [//]: # (#### 作者信息管理界面) [//]: # () [//]: # (- 列表视图:展示所有作者的信息) [//]: # (- 搜索框:允许用户搜索作者) [//]: # (- 添加按钮:允许管理员添加新的作者信息) [//]: # (- 编辑按钮:允许管理员编辑作者信息) [//]: # (- 删除按钮:允许管理员删除作者信息) [//]: # (#### 出版社信息管理界面) [//]: # () [//]: # (- 列表视图:展示所有出版社的信息) [//]: # (- 搜索框:允许用户搜索出版社) [//]: # (- 添加按钮:允许管理员添加新的出版社信息) [//]: # (- 编辑按钮:允许管理员编辑出版社信息) [//]: # (- 删除按钮:允许管理员删除出版社信息) #### 用户信息管理界面 - 列表视图:展示所有用户的信息 - 搜索框:允许用户搜索用户 - 添加按钮:允许管理员添加新的用户信息 - 编辑按钮:允许管理员编辑用户信息 - 删除按钮:允许管理员删除用户信息 [//]: # (#### 借阅记录管理界面) [//]: # () [//]: # (- 列表视图:展示所有借阅记录) [//]: # (- 搜索框:允许用户搜索借阅记录) [//]: # (- 借阅按钮:允许用户借阅图书) [//]: # (- 归还按钮:允许用户归还图书) ## 后续工作 - 完善前端界面设计 - 完善后端业务逻辑 - 进行系统测试 - 部署上线