# 图书个性化推荐系统 **Repository Path**: linnetfire/book-recommend ## Basic Information - **Project Name**: 图书个性化推荐系统 - **Description**: 图书个性化推荐系统 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-09-01 - **Last Updated**: 2026-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 书旗图书推荐系统 书旗图书推荐系统是一个基于若依(RuoYi)框架开发的综合性图书管理与人际交互平台。系统集成了图书管理、作者展示、社交互动(点赞、收藏、评论、话题讨论)以及基于权重的图书排行榜推荐功能,并提供实时在线聊天功能。 ## 主要功能特性 1. **图书管理系统**: * 支持图书的增删改查,包含图书名称、类型、出版日期、封面、PDF资源等管理。 * 支持作者信息管理。 * 支持首页幻灯片(PPT)管理。 2. **社交互动系统**: * **评论**:支持图书评论、话题回复,采用树形结构展示。 * **点赞/收藏**:用户可对图书进行点赞和收藏,便于个性化推荐。 * **话题社区**:支持用户发起话题,进行讨论交流。 3. **排行榜与推荐**: * **权重排行**:根据阅读数、点赞数、评论数、收藏数等综合权重计算图书排行榜。 * **热门排行**:展示当前热门图书。 4. **实时通信**: * 基于 WebSocket 的实时在线聊天系统,支持用户间私信交流。 5. **系统管理**(继承自 RuoYi): * 用户管理、角色管理、菜单管理、部门管理、字典管理、操作日志、登录日志等。 * 支持数据权限控制。 * 支持验证码、Redis 缓存、接口限流等安全配置。 ## 技术栈 * **后端框架**:Spring Boot 2.x * **持久层框架**:MyBatis / MyBatis-Plus * **数据库**:MySQL 5.7+ / 8.0+ * **缓存**:Redis * **前端框架**:Vue.js 2.x * **UI 组件库**:Element UI * **安全框架**:Spring Security * **认证授权**:JWT (JSON Web Token) * **实时通信**:WebSocket * **日志处理**:AOP Log * **开发环境**:Maven ## 项目结构 ``` bookRecommend/ ├── sq-ui/ # 前端项目 (Vue) ├── ruoyi-admin/ # 后台管理接口模块 ├── ruoyi-common/ # 公共通用模块 (工具类、注解、配置) ├── ruoyi-framework/ # 框架核心模块 (安全、Web、配置) ├── ruoyi-system/ # 系统业务模块 (用户、角色、菜单等) ├── shiqi-service/ # 业务核心模块 (图书、评论、聊天、排行榜) ├── shiqi-public-service/ # 公共接口模块 (前台公开数据查询) └── sql/ # 数据库 SQL 脚本 ``` ### 模块详解 * **shiqi-service**: 核心业务逻辑所在。 * `controller`: 提供 `/bookM`, `/comment`, `/applaud`, `/collect`, `/chat`, `/topic` 等接口。 * `domain`: 实体类 `AsqBooks`, `AsqComment`, `AsqChat` 等。 * `service`: 业务逻辑实现,包含排行榜计算逻辑。 * `mapper`: MyBatis 数据访问接口。 * **shiqi-public-service**: 提供对外的 RESTful API,主要用于前端 `sq-ui` 的公共数据请求。 * **WebSocket**: 位于 `shiqi-service` 下的 `utils/websocket`,处理实时消息推送。 ## 快速部署指南 ### 1. 环境准备 * 安装 JDK 1.8+ * 安装 Maven 3.x * 安装 Redis * 安装 MySQL 并创建数据库 (如 `book_db`) ### 2. 数据库初始化 * 执行 `sql/sq_book.sql` 脚本创建数据表及基础数据。 ### 3. 后端配置 * 修改 `ruoyi-admin/src/main/resources/application-druid.yml` 配置数据库连接信息。 * 修改 `ruoyi-admin/src/main/resources/application.yml` 配置 Redis 地址及其他参数。 * 运行 `ruoyi-admin` 模块下的 `RuoYiApplication.java` 启动服务(默认端口 8080)。 ### 4. 前端配置 (sq-ui) * 进入 `sq-ui` 目录。 * 执行 `npm install` 安装依赖。 * 修改 `.env.development` 或 `.env.production` 中的 `VUE_APP_BASE_API` 为后端服务地址。 * 执行 `npm run dev` 启动前端开发服务器。 * 构建生产版本:`npm run build:prod`。 ### 5. 访问系统 * **后台管理**:http://localhost:80 (默认账号密码 admin / 123456) * **前台门户**:通过 `sq-ui` 的 CMS 页面访问。 ## 许可证 本项目基于 [RuoYi](https://gitee.com/y_project/RuoYi) 开源项目,遵循 MIT 许可证开源协议。请参考项目 LICENSE 文件。