一、项目简介
本系统是一个基于 Spring Boot 3 + Vue 3 + MySQL 架构的智能电影推荐平台,采用前后端分离模式开发。系统包含普通用户端和管理员端两大角色,为电影爱好者提供电影浏览、智能推荐、社交互动等完整功能,同时为管理员提供数据可视化大屏、内容管理、爬虫任务调度等后台管理能力。系统核心亮点在于基于混合协同过滤算法的个性化推荐引擎,结合用户行为、内容相似度及情感分析,实现精准的电影推荐。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3 |
| ORM | MyBatis-Plus |
| 权限 | JWT Token 认证(基于请求头拦截) |
| 前端框架 | Vue 3 |
| 状态管理 | Pinia |
| 构建工具 | Vite |
| 数据库 | MySQL 8 |
| 数据采集 | Jsoup(豆瓣爬虫) |
| 情感分析 | 百度智能云 NLP API |
| 文件上传 | MultipartFile 本地存储 |
| Excel导出 | Apache POI |
三、功能模块
管理员端
- 数据可视化大屏:展示电影总数、用户总数、评论总数、评分总数、观影记录总数、爬虫任务总数等核心指标;提供电影分类统计、评分趋势(按月)、观影热度排行(TOP10)、评论情感分布(正面/负面)、用户活跃度(近7天每日操作数)、爬虫数据统计(已完成/运行中/总任务数)、评分排行TOP10电影等图表。
- 电影管理:支持分页查询电影列表(关键词、分类、地区、年份筛选),查看详情,新增/修改/删除电影,上架/下架电影操作。
- 电影分类管理:查看分类列表,新增/修改/删除分类,支持排序调整。
- 电影标签管理:查看某电影的标签列表,保存标签时先删除旧标签再新增。
- 电影数据导出:导出电影数据为Excel,包含电影名称、导演、演员、地区、上映年份、评分、状态字段。
- 用户管理:分页查询普通用户列表(关键词搜索),查看用户详情,启用/禁用用户账号;导出用户数据为Excel(用户名、昵称、邮箱、手机号、性别、状态、注册时间)。
- 评论管理:分页查询所有评论(关键词和情感筛选),审核评论(隐藏/显示),删除评论。
- 评分记录管理:分页查询评分列表(支持按电影ID或用户ID筛选)。
- 观影记录管理:分页查看所有已观记录,查看观影热度排行,删除记录。
- 想看记录管理:分页查看所有想看记录,删除记录。
- 爬虫任务管理:查看爬虫任务列表(关键词和状态筛选),启动爬虫任务(指定任务名称和数据源,目前支持豆瓣),停止运行中的爬虫任务,删除任务记录。
- 社交功能管理:查看用户关注关系,查看私信记录(关键词搜索),删除违规私信。
- 系统日志管理:分页查看操作日志(关键词搜索),删除单条日志,清空所有日志。
- 系统通知管理:分页查看通知列表(关键词搜索),新增通知,删除通知。
- 个人信息管理:查看和修改管理员个人资料,修改登录密码。
普通用户端
- 注册与登录:支持用户名密码方式注册和登录账号。
- 电影浏览与筛选:浏览电影列表,支持按关键词、分类、地区、上映年份筛选,仅显示已上架电影。
- 电影详情查看:查看电影标题、封面、导演、演员、地区、上映年份、时长、简介、平均评分、评分人数及标签。
- 电影评分:对电影进行1-10分评分,系统自动更新该电影的平均评分与评分人数。
- 电影评论:发布电影评论,系统调用情感分析接口自动标记评论为正面或负面情感并生成情感分数。
- 评论互动:对他人评论进行点赞或取消点赞;查看个人已发布的评论列表。
- 观影管理:添加电影到“想看”列表,支持检查某电影是否已在想看列表中并移除想看记录;添加电影到“已观”列表,支持检查是否已观看并删除已观记录;查看个人观影记录和想看列表。
- 个性化推荐:接收基于混合协同过滤算法的个性化电影推荐(结合用户行为、内容相似度及情感分析);查看与当前电影相关的“看过本片的人也看”推荐;查看与当前电影相关的志同道合用户列表。
- 社交功能:关注/取消关注其他用户,查看关注列表与粉丝列表;查看其他用户的主页(包含关注数、粉丝数及是否已关注状态);发送私信给其他用户,查看会话列表与聊天记录,支持标记消息已读及查看未读消息数。
- 个人中心:查看个人资料及统计信息(关注数、粉丝数、已观数、想看数、评论数);修改个人资料(昵称、邮箱、手机号、性别、头像等);修改登录密码(需提供旧密码);查看个人收到的系统通知列表;查看个人历史评分列表;查看系统全体公告(首页跑马灯展示最新N条)。
四、项目总结
本系统技术亮点在于融合了混合协同过滤算法与百度智能云情感分析API的智能推荐引擎,实现了基于用户行为、内容相似度和情感倾向的多维度推荐。同时集成了Jsoup爬虫实现豆瓣数据采集、JWT无状态认证、Pinia状态管理、Vite构建优化等现代技术实践。项目适合作为毕业设计、课程设计或Java全栈开发学习案例,覆盖CRUD、文件上传、数据导出、爬虫、第三方API集成、数据可视化等常见企业级开发场景。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K034