一个基于 SpringBoot + Vue 复刻高仿B站的视频网站!

news/2025/2/23 6:26:52/文章来源:https://www.cnblogs.com/codechen8848/p/18327510

大家好,我是 Java陈序员

今天,给大家介绍一个开源的视频网站,复刻高仿B站!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

Teriteri —— 一个采用前后端分离的模式,参考 Bilibili PC 端,基于 SpringBoot + Vue3 实现的弹幕视频网站。

目前实现的功能:

  • 首页视频随机推荐
  • 用户注册登录
  • 个人中心信息修改
  • 视频投稿
  • 视频审核
  • 内容搜索(视频 + 用户)
  • 视频详情页(观看 + 点赞 + 收藏 + 弹幕 + 评论)
  • 消息系统(聊天等)
  • 个人空间(用户作品 + 收藏夹等)

暂停开发的功能:

  • 视频分区
  • 用户动态
  • 观看历史
  • 热门排行
  • 数据统计
  • 推荐算法

技术栈:

  • 前端:Vue3 + Element-Plus
  • 后端:SpringBoot + MyBatis-Plus + JWT + Netty
  • 数据库:MySQL + Redis + ElasticSearch

项目截图

前台首页

视频播放

视频搜索

视频投稿

视频审核

视频审核是后台管理中的功能,后台管理目前只开发了视频审核功能。

个人中心

个人空间

聊天对话

快速上手

开发环境:

  • JDK 1.8
  • ElasticSearch 7.17.16
  • 阿里云OSS
  • NodeJs 16.16.0

服务端

1、克隆代码

git clone https://github.com/xunlu129/teriteri-backend.git

2、创建数据库 teriteri

CREATE DATABASE `teriteri` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

3、在创建好的数据库中,执行 teriteri-backend/database/teriteri.sql 初始化数据库表

4、将项目以 Maven 的形式导入到 IDEA 中

5、将 resources 中的 application 文件加上后缀 .yml,并修改数据库、Redis、Oss、ElasticSearch 的配置信息

需要根据自己服务器信息填写好其中带 *** 号的配置信息,注意个人信息泄露风险!!!

6、执行主启动类 com.teriteri.backend.BackendApplication 启动项目

前台 Web 端

1、克隆代码

git clone https://github.com/xunlu129/teriteri-client.git

2、安装依赖

npm install

3、启动项目

npm run serve

4、启动成功后浏览器访问 http://localhost:8787

后台管理 Web 端

1、克隆代码

git clone https://github.com/xunlu129/teriteri-admin.git

2、安装依赖

npm install

3、启动项目

npm run serve

4、启动成功后浏览器访问 http://localhost:8788

5、管理员的账号密码需要在前台 Web 端进行注册,同时需要修改 user 表的 role 属性为 1 或者 2,该用户就是管理员了,这样就可以登录管理员端了。

Teriteri 作为一个视频网站,目前实现了大部分的功能,可以说完美复刻了B站,可惜还有一些功能没开发。但是瑕不掩瑜,仍是一个非常好的开源项目,部署也很简单,大家快去围观体验吧~

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/773480.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VirtualBox 7.0.20 (macOS, Linux, Windows) - 开源跨平台虚拟化软件

VirtualBox 7.0.20 (macOS, Linux, Windows) - 开源跨平台虚拟化软件VirtualBox 7.0.20 (macOS, Linux, Windows) - 开源跨平台虚拟化软件 Oracle VM VirtualBox 7 请访问原文链接:https://sysin.org/blog/virtualbox-7/,查看最新版。原创作品,转载请保留出处。VirtualBox 简…

C# 推荐一种开机自启动的方式

直接写到用户开机自启动目录里,系统开机会带着一起启动。cmd-shell:startup可验证是否成功生成快捷方式到启动目录。概述(Overview)网上多数搜索结果以注册表设置为优先,这个方法需要管理员权限,实际工作中可能并不适用。这个方法是直接写到用户开机自启动目录里,系统开机会…

70%的人都答错了的面试题,vue3的ref是如何实现响应式的?

最近在我的vue源码交流群有位面试官分享了一道他的面试题:vue3的ref是如何实现响应式的?下面有不少小伙伴回答的是Proxy,其实这些小伙伴只回答对了一半。前言 最近在我的vue源码交流群有位面试官分享了一道他的面试题:vue3的ref是如何实现响应式的?下面有不少小伙伴回答的…

《最新出炉》系列入门篇-Python+Playwright自动化测试-56- 多文件上传 - 下篇

1.简介 前边的两篇文章中,宏哥分别对input控件上传文件和非input控件上传文件进行了从理论到实践地讲解和介绍,但是后来又有人提出疑问,前边讲解和介绍的都是上传一个文件,如果上传多个文件,Playwright是如何实现的呢?宏哥看了一下官方的API也有上传多个文件的API,那么今…

7.28-8.11 中山集训

第一次外地集训欸主要放模拟赛,还有一些简短的记录。 7.29頑張って

GPU的体系结构几个演进

GPU的体系结构几个演进 从体系结构的视角看, GPU的诞生一开始是为了解决访存的问题, 1994年的时候整个图形渲染流水线基本上已经固定成为开放的OpenGL标准。伴随着GeForce 6的发布,Vertex Shader和Pixel Shader都支持了完整分支、循环、预测等功能实现,最终一个完全支持高级渲…

LInux 组合命令小结

cut -d: -f1 /etc/passwd #显示特定行ifconfig lo | grep "inet" | grep -v "inet6" |awk {print $2} #显示回环地址lo地址

一文汇总全球热门新闻API

新闻API通过提供快速、准确和全面的新闻内容,已经成为现代社会不可或缺的一部分,对人们的生活、工作环境和科技发展产生了深远的影响。新闻API使人们能够快速获取来自世界各地的实时新闻和信息,提高了信息的可访问性。通过新闻API,用户可以根据自己的兴趣和偏好接收定制化的…

读零信任网络:在不可信网络中构建安全系统03威胁模型

读零信任网络:在不可信网络中构建安全系统03威胁模型1. 信任管理 1.1. 信任源自于人,并通过计算机可以执行的信任机制流入其他系统 1.1.1. 只有使用系统的人确信它确实按照其意愿忠实地运行,该系统才能被认为是可信的 1.2. 信任管理是零信任…

Pinely Round 4 (Div. 1 + Div. 2)

离上紫一步之遥了这场打完又掉下去了哈哈真是太搞目录写在前面ABCDEF写在最后 写在前面 比赛地址:https://codeforces.com/contest/1991 离上紫一步之遥了这场打完又掉下去了哈哈真是太搞 A 签到。 对于每个位置检查两侧数的数量是否为奇数,若为奇数则无法删的只剩这个位置。…

基于 AnythingLLM 及 Ollama 构建本地知识库

基于 AnythingLLM 及 Ollama 构建本地知识库RAG Ollama AnythingLLM1. 什么是 RAG RAG(Retrieval Augmented Generation)检索增强生成,是 2023 年最火热的 LLM 应用系统架构,它的作用简单来说就是通过检索获取相关的知识并将其融入 Prompt,让大模型能够参考相应的知识从而…