简体中文 繁體中文 English Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français Japanese

站内搜索

搜索
AI 风月

活动公告

03-01 22:34
03-01 19:23
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

一款基于 SpringBoot + Vue 开发的高仿B站项目

SunJu_FaceMall

3万

主题

360

科技点

3万

积分

白金月票

碾压王

积分
32696

立华奏

发表于 7 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

如果想亲手搭建一个属于自己的视频网站平台客户端,但又苦于不知如何下手,或者觉得B站那样的巨无霸系统离个人开发者太过遥远。不妨看看这个开源项目——Teriteri,它几乎复刻了我们熟悉的Bilibili PC端的核心体验,从流畅的视频播放、飞驰的弹幕,到互动社区与即时聊天,一应俱全。

简介

Teriteri是一款用SpringBoot + Vue开发的仿B站项目,本项目采用前后端分离模式开发,web端分为客户端和后台管理。

功能全景
  • 用户体系与内容消费: 包括用户注册登录、个人中心信息修改、首页视频随机推荐、以及强大的内容搜索(同时覆盖视频和用户)。
  • 核心视频互动: 用户可以投稿视频,并在视频详情页享受完整的观看体验,包括发送弹幕、发表评论、点赞和收藏。
  • 社区化体验: 项目构建了个人空间来展示用户的作品与收藏,更引人注目的是,它实现了一个完整的消息系统,支持用户间的实时聊天对话,极大地增强了社区粘性。
  • 后台管理: 虽然管理端目前主要聚焦于视频审核功能,但这保证了内容生态的底线,为平台的健康运行提供了基础支撑。
部署指南
环境与代码准备

核心前提:项目完整运行需同时部署三个端(后端、客户端、管理端)。为确保功能正常,请确保三个仓库的代码版本一致。

建议部署顺序:先启动后端,再启动前端,以避免因服务未就绪而导致的连接错误。

数据库与初始化
  • 除 category 表外,其他数据表均未提供初始数据。
  • 注册第一个用户后,需手动在数据库 user 表中,将该用户的 role 字段值改为 1 或 2,方可获得管理员权限,登录管理端。

重要提醒:除上述操作外,请尽量避免直接修改数据库,以防造成 MySQL、Redis 与 Elasticsearch 之间的数据不一致。

后端部署要点
配置文件
  • 项目采用 application.yml 作为主配置文件。请勿在 application.properties 中填写配置,或将其全部迁移至 .yml 格式。
  • 打开 resources/application.yml,根据您的实际环境,填写所有标有 *** 的配置项(如数据库、Redis、OSS等)。请务必注意保护个人敏感信息,切勿提交至公开仓库。
关键服务配置

视频存储: 项目默认集成阿里云OSS。代码中虽注释了本地存储方案,但并未实现对应的视频播放逻辑。自行实现本地视频流播放较为复杂,强烈建议开通阿里云对象存储服务,性价比高且能省去大量开发时间。

Elasticsearch:

  • 项目使用 Elasticsearch 7.17.16。若使用其他版本,请在 pom.xml 中修改相应的依赖版本号。
  • 需安装 ik 分词器与 pinyin 分词器插件(作者提供了详细的Elasticsearch笔记供参考,笔记基于Linux,Windows用户请对照调整)。
  • 索引可通过运行 ApplicationTests 测试类中的 createIndex 方法自动创建。

Netty端口: 即时通讯服务默认占用 7071 端口。如需修改,请在 IMServer 类中进行调整。

启动步骤
  • 在项目根目录下,下载 Maven 依赖。
  • 直接运行 BackendApplication 主类,启动后端服务。
前端部署要点
配置与资源
  • 轮播图: 数据在 carousel.json 中静态配置,可替换为您自己的图片链接。当前链接指向作者的OSS资源,仅允许 localhost:8787 域名访问,若修改前端服务端口,将导致图片加载失败。
  • 图标库: 目前引用的图标来自作者在阿里巴巴矢量图标库创建的项目。为避免因作者修改而导致图标失效,建议后期自行创建并替换项目ID。
  • 代理配置: 确保 vue.config.js 和 .env.development 文件中的代理端口号与后端运行端口一致。
启动步骤
  • 在项目目录下,安装依赖:npm install
  • 启动开发服务器:npm run serve

总结: 部署核心在于确保环境一致、配置准确(尤其是ES版本、OSS和YML配置),并遵循正确的启动顺序。过程中请仔细核对每一项配置,祝您部署顺利!

界面预览
网站首页
640.webp
创作中心
640.webp 640.webp 640.webp
视频审核
640.webp 640.webp
视频详情页
640.webp 640.webp
搜索页面
640.webp 640.webp i 640.webp 640.webp 640.webp 640.webp
个人中心
640.webp 640.webp 640.webp
消息中心
640.webp
开源地址

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




「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

手机版|联系我们|小黑屋|TG频道|RSS |网站地图

Powered by Pixtech

© 2025-2026 Pixtech Team.

>