在线体验 CI 状态 演示视频

Go 1.25  ·  Gin  ·  GORM  ·  Vue 3.5  ·  Vite 6  ·  TypeScript  ·  MySQL  ·  Redis  ·  RabbitMQ  ·  Elasticsearch  ·  FFmpeg  ·  WebSocket

cakecake — Go + Vue3 全栈仿 B 站视频社区

Go(Gin/GORM) + Vue3(Vite/TypeScript) 全栈实战,覆盖视频投稿、实时弹幕、WebSocket 私信、ES 全文搜索、DeepSeek AI 助手与运营后台等。在线体验与开源地址已附,欢迎 star ⭐

前言

一直想做一个完整的全栈项目来检验自己的学习成果。B 站作为国内领先的视频弹幕社区,业务场景丰富、技术栈覆盖面广,自然成了我的首选目标。初次挑战全栈架构深水区,踩了很多坑也学到了很多东西,最终沉淀为 cakecake——一个基于 Go + Vue3 全栈构建的仿 B 站视频分享社区。

本项目聚焦视频投稿、实时弹幕、多级评论、全文搜索、AI 助手等核心链路,适合正在学习 Go/Vue 全栈开发的同学参考和交流。

功能清单

用户端核心功能

模块 功能
视频浏览 首页推荐流、分区导航(动画/音乐/舞蹈等)
视频播放 播放器控制、弹幕开关
实时弹幕 WebSocket 通信、敏感词过滤、透明度/密度可调
社交互动 评论&回复(按热度/时间排序)、动态发布、点赞、关注、私信
内容投稿 视频投稿、专栏投稿
个人管理 个人中心、个人空间、收藏夹、观看历史、稍后再看
全文搜索 基于 Elasticsearch 的视频/专栏搜索(可选)
AI 助手 DeepSeek 驱动的智能问答,支持结构化工具结果展示

项目截图

AI 智能助手 — 结构化工具结果展示
AI 智能助手
首页 视频播放(含弹幕)
首页 视频播放
搜索 个人中心
搜索 个人中心
个人空间 动态
个人空间 动态
排行榜 消息中心
排行榜 消息中心

后端配置与启动

后端项目名为 minibili,代码入口在仓库根目录。

  1. 复制环境变量示例并填入实际值:
cp .env.example .env

主要配置项(.env):

# 数据库
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=cakecake

# Redis
REDIS_ADDR=127.0.0.1:6379

# JWT
JWT_SECRET=your_jwt_secret
  1. 启动后端:
go mod tidy
go run main.go

前端配置与启动

  1. 安装依赖:
cd cakecake-vue/bilibili-vue
npm install
  1. 配置环境变量(.env):
cp .env.example .env

.env 主要配置项:

VITE_API_BASE_URL=http://localhost:8080/api
VITE_WS_URL=ws://localhost:8080/ws
  1. 启动开发服务器:
npm run dev

访问 http://localhost:8888 即可体验。

相关链接

链接 说明
在线体验 生产环境部署
演示视频 B 站功能演示
GitHub 仓库 完整源码

如果这个项目对你有帮助,欢迎 Star ⭐ 支持!也欢迎提 Issue 和 PR 一起完善。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐