# 一个用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-1713261638190-1.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-1713261638190-2.png)
### 创作中心
![image-20240415165805944](README.assets/image-20240415165805944-1713261638191-3.png)
![image-20240415170725088](README.assets/image-20240415170725088-1713261638191-4.png)
![image-20240415170948347](README.assets/image-20240415170948347-1713261638191-5.png)
### 视频审核
![image-20240415171701224](README.assets/image-20240415171701224-1713261638191-6.png)
![image-20240415171759941](README.assets/image-20240415171759941-1713261638191-7.png)
### 视频详情页
![image-20240415173743314](README.assets/image-20240415173743314-1713261638191-8.png)
![image-20240415174054777](README.assets/image-20240415174054777-1713261638191-9.png)
### 搜索页面
![image-20240415174815293](README.assets/image-20240415174815293-1713261638191-10.png)
![image-20240415175047210](README.assets/image-20240415175047210-1713261638191-11.png)
![image-20240415174616748](README.assets/image-20240415174616748-1713261638191-12.png)
![image-20240415174842325](README.assets/image-20240415174842325-1713261638191-14.png)
![image-20240415175335504](README.assets/image-20240415175335504-1713261638191-13.png)
![image-20240415175456058](README.assets/image-20240415175456058-1713261638191-15.png)
### 个人中心
![image-20240415175625450](README.assets/image-20240415175625450-1713261638191-16.png)
![image-20240415175654208](README.assets/image-20240415175654208-1713261638191-17.png)
![image-20240415175708364](README.assets/image-20240415175708364-1713261638191-18.png)
### 消息中心
![image-20240415180214595](README.assets/image-20240415180214595.png)
没有合适的资源?快使用搜索试试~ 我知道了~
仿B站视频资源,使用javaspringBoot开发的音视频框架
共243个文件
png:139个
vue:70个
js:7个
需积分: 0 0 下载量 139 浏览量
2024-04-18
15:50:43
上传
评论
收藏 73.55MB ZIP 举报
温馨提示
仿B站视频资源,使用javaspringBoot开发的音视频框架
资源推荐
资源详情
资源评论
收起资源包目录
仿B站视频资源,使用javaspringBoot开发的音视频框架 (243个子文件)
global.css 23KB
videoCard.css 7KB
normalize.css 7KB
element.css 899B
base.css 557B
font.css 96B
loading.gif 3.01MB
dianzan.gif 1.58MB
.gitignore 231B
index.html 631B
favicon.ico 270KB
bilibili-winter-view-2.jpg 380KB
bilibili-winter-view-1.jpg 299KB
index.js 18KB
utils.js 10KB
index.js 8KB
request.js 4KB
vue.config.js 1KB
main.js 927B
babel.config.js 73B
package-lock.json 817KB
dm.json 6KB
emoji.json 4KB
carousel.json 2KB
package.json 1KB
jsconfig.json 279B
LICENSE 1KB
README.md 6KB
BadApple.mp4 27.06MB
image-20240415162456125.png 2.93MB
image-20240415162456125-1713261638190-2.png 2.93MB
image-20240415173743314.png 2.75MB
image-20240415173743314-1713261638191-8.png 2.75MB
image-20240415174054777-1713261638191-9.png 2.23MB
image-20240415174054777.png 2.23MB
image-20240415175335504-1713261638191-13.png 2.23MB
image-20240415175335504.png 2.23MB
image-20240415174616748-1713261638191-12.png 1.39MB
image-20240415174616748.png 1.39MB
image-20240415180214595.png 1.11MB
image-20240415175456058-1713261638191-15.png 1.07MB
image-20240415175456058.png 1.07MB
message-bg.png 898KB
image-20240415170948347.png 625KB
image-20240415170948347-1713261638191-5.png 625KB
load-failed.png 453KB
nothing.png 433KB
pitiful.png 419KB
image-20240415171759941.png 415KB
image-20240415171759941-1713261638191-7.png 415KB
image-20240415175654208-1713261638191-17.png 395KB
image-20240415175654208.png 395KB
banner.png 363KB
logo.png 270KB
image-20240415170725088.png 228KB
image-20240415170725088-1713261638191-4.png 228KB
image-20240415174842325.png 179KB
image-20240415174842325-1713261638191-14.png 179KB
image-20240415175708364.png 173KB
image-20240415175708364-1713261638191-18.png 173KB
image-20240415175625450-1713261638191-16.png 171KB
image-20240415175625450.png 171KB
image-20240415174815293.png 154KB
image-20240415174815293-1713261638191-10.png 154KB
icons1.png 138KB
image-20240415171701224.png 130KB
image-20240415171701224-1713261638191-6.png 130KB
image-20240415165805944-1713261638191-3.png 128KB
image-20240415165805944.png 128KB
image-20240415175047210.png 102KB
image-20240415175047210-1713261638191-11.png 102KB
70.png 96KB
icons.png 70KB
no_message.png 57KB
bilibili-winter-tree-1.png 48KB
bilibili-winter-tree-2.png 47KB
bilibili-winter-tree-3.png 47KB
404.png 39KB
theme-trigger-new.png 22KB
bilibili-winter-view-3-snow.png 22KB
74.png 18KB
51.png 17KB
72.png 17KB
73.png 17KB
75.png 16KB
76.png 16KB
71.png 15KB
account_top.png 14KB
18.png 12KB
1.png 12KB
14.png 12KB
34.png 12KB
12.png 12KB
38.png 12KB
29.png 11KB
8.png 11KB
21.png 11KB
13.png 11KB
25.png 11KB
22.png 11KB
共 243 条
- 1
- 2
- 3
资源评论
爱你三千遍斯塔克
- 粉丝: 5200
- 资源: 96
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- #P0015. 全排列 超级简单
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功