# 一个用Springboot + Vue开发的仿B站项目
## 项目:Teriteri
- 使用 java 语言复刻了一个B站,实现了一个弹幕视频网站所具备的大部分功能。
- 采用前后端分离模式开发,web端分为客户端和后台管理。本项目主要实现客户端各功能,后台管理只写了视频审核。
- 项目界面纯手搓,因此开发缓慢,总耗时7个多月。
## 项目地址:
- **视频演示:**
- [我用 SpringBoot + Vue 复刻了一个B站作为毕设项目(bilibili.com)](https://www.bilibili.com/video/BV1pM4m1D7Vt)
- **后端代码:**
- [xunlu129/teriteri-backend: 一个基于 springboot + mybatis-plus 搭建的视频网站平台后端 (github.com)](https://github.com/xunlu129/teriteri-backend)
- **客户端代码:**
- [xunlu129/teriteri-client: 一个基于 vue3 搭建的视频网站平台客户端 (github.com)](https://github.com/xunlu129/teriteri-client)
- **管理员端代码:**
- [xunlu129/teriteri-admin: 一个基于 vue3 搭建的视频网站平台管理员端 (github.com)](https://github.com/xunlu129/teriteri-admin)
### ==**代码都拿了,顺手帮忙给我视频点个赞,给代码点个star呗,拜托了,这对我真的很重要![0EF500CA](README.assets/0EF500CA.png)**==
### ==**声明:本项目只用作学习参考,无任何商业用途,对于项目中的部分图片来源,我已注明出处,若他人使用本项目造成的侵权问题,本人概不负责**==
## 技术线
- **前端(web端):**
- Vue3全家桶 + Element-Plus + Axios等
- **后端(服务端):**
- SpringBoot2.7 + MyBatis-Plus + JWT + Netty等
- **数据库:**
- MySQL + Redis + ElasticSearch7.17.16
- **开发环境:**
- NodeJs: 16.16.0 + JDK: 1.8
## 项目功能
- **首页视频随机推荐**
- **用户注册登录**
- **个人中心信息修改**
- **视频投稿**
- **视频审核**
- **内容搜索(视频 + 用户)**
- **视频详情页(观看 + 点赞 + 收藏 + 弹幕 + 评论)**
- **消息系统(聊天等)**
- **个人空间(用户作品 + 收藏夹等)**
其他由于时间问题,暂停开发的功能:
- 视频分区
- 用户动态
- 观看历史
- 热门排行
- 数据统计
- 推荐算法
## 代码部署注意事项
- 首先:要体验完整功能,三个端的代码必须版本一致,前端启动依赖后端,所以建议先启动好后端后再启动前端,以防出现一些问题报错。若不体验审核功能,可以不启动管理员端。
### 后端
1. 在项目根目录下(src同级目录)创建 `public/chunk/` 文件夹,即创建public文件夹后再在里面创建chunk文件夹,用于存储上传的视频分片。如果不创建,在上传视频时会出异常。
2. 项目使用 `阿里云OSS` 存储视频,请自行准备,当然代码也有提供上传本地的方法(已注掉),但是没有写怎么观看视频,要是不嫌麻烦可以自行补写,不过本地视频的话,前端要通过读数据流播放可能非常困难,因此,本人还是建议开通一个阿里云对象存储,省时省力,而且也不贵。
3. 项目使用的 `ElasticSearch` 版本为 `7.17.16`,如果使用其他版本,请更改 `pom.xml` 内对应的 `version` 。ES的索引创建,可以运行测试类 `ApplicationTests` 中的 `createIndex` 方法自动创建。
4. 另外,如果运行测试类 `ApplicationTests` 中的函数时出现 `websocket` 相关的报错,可以先把 `WebSocketConfig` 类里的全部东西注掉。
5. 项目使用 `application.yml` 文件作为启动配置,因此不要在 `application.properties` 中写东西,或者你把配置信息全部写到pro也行。把 resources 中的 `application` 文件加上后缀 `.yml` 即可,需要根据自己服务器信息填写好其中带 `***` 号的配置信息。**注意个人信息泄露风险!!!**
6. 注意Netty服务占用7071端口,如果需要更换,请在 `IMServer` 类中设置。
准备好以上说的后,就可以启动项目了:
```bash
1、下载Maven依赖
2、启动BackendApplication
```
### 前端
1. 一些图标库可以在阿里巴巴矢量图标库上找,因为现在用的是我创建的图标库,指不定哪天我改几下,旧的图标就用不了了。
2. 注意代理端口号和后端匹配
剩下没什么好注意的,启动就完事了:
```bash
1、下载依赖
npm install
2、启动项目
npm run serve
```
### ==**最后注意一下版权问题**==
## 界面展示
### 网站首页
![image-20240415162456125](README.assets/image-20240415162456125.png)
### 创作中心
![image-20240415165805944](README.assets/image-20240415165805944.png)
![image-20240415170725088](README.assets/image-20240415170725088.png)
![image-20240415170948347](README.assets/image-20240415170948347.png)
### 视频审核
![image-20240415171701224](README.assets/image-20240415171701224.png)
![image-20240415171759941](README.assets/image-20240415171759941.png)
### 视频详情页
![image-20240415173743314](README.assets/image-20240415173743314.png)
![image-20240415174054777](README.assets/image-20240415174054777.png)
### 搜索页面
![image-20240415174815293](README.assets/image-20240415174815293.png)
![image-20240415175047210](README.assets/image-20240415175047210.png)
![image-20240415174616748](README.assets/image-20240415174616748.png)
![image-20240415174842325](README.assets/image-20240415174842325.png)
![image-20240415175335504](README.assets/image-20240415175335504.png)
![image-20240415175456058](README.assets/image-20240415175456058.png)
### 个人中心
![image-20240415175625450](README.assets/image-20240415175625450.png)
![image-20240415175654208](README.assets/image-20240415175654208.png)
![image-20240415175708364](README.assets/image-20240415175708364.png)
### 消息中心
![image-20240415180214595](README.assets/image-20240415180214595.png)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
这里为你收集整理了关于毕业设计、课程设计可参考借鉴的资料一份,质量非常高,如果你投入时间去研究几天相信肯定对你有很大的帮助。到时候你会回来感谢我的。 本资源是经过本地编译测试、可打开、可运行的项目、文件或源码,可以用于毕业设计、课程设计的应用、参考和学习需求,请放心下载。 祝愿你在这个毕业设计项目中取得巨大进步,顺利毕业! 但还需强调一下,这些项目源码仅供学习和研究之用。在使用这些资源时,请务必遵守学术诚信原则和相关法律法规,不得将其用于任何商业目的或侵犯他人权益的行为。对于任何因使用本资源而导致的问题,包括但不限于数据丢失、系统崩溃或安全漏洞,风险自担哦!
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计-一个基于 springboot mybatisplus 搭建的视频网站平台后端.zip (148个子文件)
application 6KB
mvnw.cmd 7KB
.gitignore 485B
maven-wrapper.jar 59KB
VideoServiceImpl.java 23KB
RedisUtil.java 19KB
UserAccountServiceImpl.java 18KB
ChatServiceImpl.java 15KB
CommentServiceImpl.java 13KB
VideoUploadServiceImpl.java 12KB
EventListenerService.java 12KB
VideoController.java 12KB
OssUtil.java 10KB
UserServiceImpl.java 10KB
ESUtil.java 9KB
BackendApplicationTests.java 9KB
UserVideoServiceImpl.java 9KB
JwtUtil.java 8KB
ChatHandler.java 7KB
DanmuWebSocketServer.java 6KB
FavoriteVideoController.java 6KB
UserCommentServiceImpl.java 6KB
DirectVideoUploadConsumer.java 6KB
SecurityConfig.java 5KB
CategoryServiceImpl.java 5KB
RedisConfig.java 5KB
SearchServiceImpl.java 5KB
FavoriteVideoServiceImpl.java 5KB
MsgUnreadServiceImpl.java 5KB
FavoriteServiceImpl.java 5KB
SearchController.java 4KB
CommentController.java 4KB
ChatController.java 4KB
TokenValidationHandler.java 4KB
VideoUploadController.java 4KB
ChatDetailedServiceImpl.java 3KB
JwtAuthenticationTokenFilter.java 3KB
VideoStatsServiceImpl.java 3KB
UserAccountController.java 3KB
VideoReviewServiceImpl.java 3KB
WebSocketHandler.java 3KB
DruidConfig.java 3KB
DanmuServiceImpl.java 3KB
FavoriteController.java 3KB
IMServer.java 2KB
ElasticSearchConfig.java 2KB
UserController.java 2KB
VideoReviewController.java 2KB
VideoService.java 2KB
UserCommentController.java 2KB
ChatDetailedController.java 2KB
ChatService.java 2KB
UserVideoController.java 2KB
CurrentUser.java 2KB
VideoUploadService.java 2KB
FavoriteService.java 2KB
UserAccountService.java 1KB
DanmuController.java 1KB
User.java 1KB
MsgUnreadController.java 1KB
CorsConfig.java 1KB
IMResponse.java 1KB
UserService.java 1KB
ThreadPoolConfig.java 1KB
UserDetailsServiceImpl.java 1KB
UserDTO.java 1KB
RabbitMQConfig.java 1KB
UserDetailsImpl.java 1KB
Video.java 1KB
Danmu.java 1KB
OSSConfig.java 1015B
UserVideoService.java 1008B
VideoStatsController.java 993B
UserVideo.java 964B
MsgUnreadService.java 964B
CommentService.java 943B
FileUploadConfig.java 906B
SearchService.java 872B
BackendApplication.java 871B
VideoStatsService.java 861B
FavoriteVideoService.java 828B
Favorite.java 816B
ChatDetailed.java 778B
TestComment.java 759B
Comment.java 734B
ChatDetailedService.java 711B
CommentMapper.java 695B
Chat.java 686B
CategoryController.java 656B
VideoReviewService.java 654B
DanmuService.java 639B
CommandType.java 631B
CommentTree.java 623B
MsgUnread.java 620B
FavoriteVideo.java 575B
VideoStats.java 553B
WebSocketConfig.java 538B
CategoryService.java 499B
VideoUploadInfoDTO.java 496B
ESVideo.java 375B
共 148 条
- 1
- 2
资源评论
高校毕业设计
- 粉丝: 215
- 资源: 383
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C#ASP.NET企业在线记账平台源码数据库 SQL2012源码类型 WebForm
- PHP客户关系CRM管理系统源码数据库 MySQL源码类型 WebForm
- python-勇者斗恶龙 回合制游戏 有图有真相 英雄和怪兽行为和状态的设定
- JAVA的Springboot垃圾分类识别小程序源码带部署文档数据库 MySQL源码类型 WebForm
- 图像分类数据集:番茄叶片病害图像识别数据集(包括划分好的数据【文件夹保存】、类别字典文件)
- web版本实现迅飞语音听写(流式版)封装代码
- JAVAspringboot校园转转二手电商市场源码数据库 MySQL源码类型 WebForm
- MICO_Android_Release_2_4_54.apk
- 个人日常总结,待整理 杂乱的笔记
- liteidex38.3-win64
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功