aigcbilibili/aigcbilibili · 上手攻略
- 仓库:aigcbilibili/aigcbilibili
- 链接:https://github.com/aigcbilibili/aigcbilibili
- 分类:实战项目 · Java · 全栈
- 作者:Tom
- 更新:2026-08-27
是什么
aigcbilibili 是一个仿哔哩哔哩(B站)前后端全栈实现项目,技术栈覆盖 Spring Boot 单体开发 + Spring Cloud 微服务架构,目标用户是 Java 求职者——通过完整还原 B 站核心功能(视频上传、弹幕、评论、私信等),在简历中展示比黑马/尚硅谷教程更稀缺、更真实的项目经验。
项目配套详细部署教程和现成简历话术,适合快速在本地跑通并在简历中呈现。
解决什么问题
Java 就业市场竞争激烈,黑马、尚硅谷等教程项目高度同质化,HR 和面试官见到简历写这些项目往往直接跳过。本项目解决的核心痛点:
- 项目差异化:一比一复刻 B 站真实功能(弹幕、分片上传、私聊等),而非教学级 CRUD
- 技术栈广度:单体(Spring Boot)+ 微服务(Spring Cloud)+ 中间件(Redis/RocketMQ/ES),覆盖校招/社招JD全要求
- 面试引导:技术亮点多,可供面试官深挖的问题多,简历话术现成
- 快速落地:提供完整从零部署到接口调通的教程,无需前端基础
快速安装
⚠️ 本项目为真实前后端代码,非 H5 或 Electron 套壳,需要一定 Java 环境配置能力。
环境要求
- JDK 8+(推荐 JDK 11)
- Maven
- Node.js(前端)
- MySQL
- Redis
- Nacos(服务注册发现)
- RocketMQ
- Elasticsearch
- MinIO(对象存储,替代 S3)
- 讯飞星火 API(AI 功能)
快速启动(详细步骤见项目 README)
# 1. 克隆项目
git clone https://github.com/aigcbilibili/aigcbilibili.git
cd aigcbilibili
# 2. 后端:修改 application.yml 中的数据库/中间件连接信息
# 数据库、Redis、RocketMQ、ES、Nacos、MinIO 等地址需配置为本地或远程实际地址
# 3. 按顺序启动中间件(Docker 方式示例)
docker run -d --name mysql -p 3306:3306 mysql:8.0
docker run -d --name redis -p 6379:6379 redis:7
docker run -d --name nacos -p 8848:8848 nacos/nacos-server:v2.2.0
# ... 其他中间件类似
# 4. 启动后端
mvn clean package -DskipTests
java -jar target/*.jar
# 5. 前端:运行项目自带教程提供的现成资源包(作者文件床直链)
# 或按教程配置 Node.js 前端环境后启动
⚠️ 完整中间件链路(MySQL + Redis + Nacos + RocketMQ + Elasticsearch + MinIO + 讯飞星火 + XXL-Job + Zipkin)较多,强烈建议使用作者提供的一键环境包或详细文档减少踩坑。
视频上传注意
项目使用分片上传 + 断点续传(百兆以上大文件场景)。本地测试需要 MinIO 配置正确,否则上传接口会报 500。
核心功能一览
| 功能 | 说明 |
|---|---|
| 视频上传 | 分片上传 + 断点续传,支持大文件 |
| 弹幕 | 实时弹幕系统(WebSocket) |
| 视频播放 | 视频查看、点赞、评论、收藏 |
| 用户体系 | 注册登录(图形码/手机号/邮箱)、个人信息、个人主页、关注 |
| 实时私信 | 一对一 WebSocket 实时私聊 |
| AI 功能 | 文生文、文生图、智能 PPT(集成讯飞星火 API) |
| 搜索 | 视频/用户聚合搜索、关键字补全、高亮 |
| 消息推送 | 关注 UP 动态、评论点赞私聊消息推送 |
| 分布式任务 | XXL-Job 定时任务(视频转码等) |
| 链路追踪 | Zipkin + Sleuth 请求全链路可视化 |
技术架构
后端技术栈
Spring Boot # 单体入口,保证下限
Spring Cloud # 微服务(网关/Feign/Nacos)
Spring Security # 鉴权授权(JWT)
MyBatis-Plus # 单表 CRUD
MyBatis-Plus-Join # 多表连表查询
Druid # 阿里数据库连接池
Redis # 分布式缓存
RocketMQ # 异步消息队列
Elasticsearch # 搜索(关键字高亮/补全)
MinIO # 对象存储(替代 S3)
WebSocket # 实时私信/弹幕
JWT # Token 鉴权
Swagger # 接口文档
Hutool # 工具类集合
Jave # 视频处理(转码/压缩/截图/去水印)
XXL-Job # 分布式定时任务
Zipkin + Sleuth # 链路追踪
讯飞星火 API # 大模型能力接入
前端技术栈
项目 README 未详细列出前端技术栈,根据功能推断为 Vue/React 配合主流 UI 框架(具体以项目实际文件为准)。
微服务架构(Spring Cloud)
gateway # 请求入口 + 路由
nacos # 服务注册与发现
openfeign # 服务间远程调用
典型适用场景
| 场景 | 说明 |
|---|---|
| Java 校招/社招简历项目 | 项目差异化强,技术栈全,面试官愿意深挖 |
| Spring Cloud 微服务学习 | 完整 Nacos + Feign + Gateway 实践 |
| 中间件综合实践 | Redis/RocketMQ/ES/MinIO 真实项目串联 |
| 分布式系统理解 | 链路追踪、分片上传、定时任务在真实场景的应用 |
| AI 功能集成 | 讯飞星火 API 接入,文生文/文生图/PPT 自动生成 |
坑与注意
⚠️ 中间件链路复杂
本项目涉及 7+ 中间件,本地完整启动门槛较高。建议严格按项目 README 的从零部署教程操作,不要跳过任何步骤。推荐先在有足够内存(16GB+)的机器上运行。
⚠️ 视频上传依赖 MinIO
本地测试视频上传功能,需要正确配置 MinIO(对象存储)。若 MinIO 未运行或配置错误,上传接口返回 500 而非友好错误提示。
⚠️ 讯飞星火 API 需要申请
AI 功能(文生文、文生图、智能 PPT)依赖讯飞星火 API Key,需在 讯飞开放平台 申请。免费额度有限,生产使用需付费。
⚠️ 项目地址可能变动
README 中项目地址为 labilibili.com(作者自己的站点),GitHub 仓库为 aigcbilibili/aigcbilibili。如有 404,优先确认最新仓库地址。
⚠️ 简历话术使用边界
作者提供的简历话术是通用版本,建议根据自身实际参与程度调整,避免面试时被追问露馅。项目亮点足够多时,选择性呈现 3-5 个核心亮点比堆砌全部功能更有说服力。
环境依赖版本
项目较长时间未更新(Stars 675,但最后活动时间不详)。若 JDK/Maven/中间件版本与当前主流不兼容,需要自行调整依赖版本。建议优先使用 JDK 11 + Maven 3.8+。
与同类对比
| 项目 | 技术栈 | 微服务 | AI 功能 | 亮点密度 | 教程完整度 |
|---|---|---|---|---|---|
| aigcbilibili | Spring Boot + Spring Cloud + 9 种中间件 | ✅ Nacos/Feign/Gateway | ✅ 讯飞星火(文生文/图/PPT) | 高(分片上传、断点续传、私聊、弹幕等) | 完整(部署+简历话术) |
| 黑马/尚硅谷 B站项目 | Spring Boot + SSM | ❌ | ❌ | 低 | 一般 |
| 仿微信/外卖项目 | Spring Boot + Redis | ❌ | ❌ | 中 | 一般 |
本项目核心差异:是目前少有的微服务架构 + 真实中间件串联 + AI 功能集成的 Java 校招项目,且配套完整简历话术,不是课堂级 CRUD 演示。
一句话结论
Java 求职者想要一个差异化强、技术栈全、能引导面试官深挖亮点的简历项目,aigcbilibili 是技术广度(微服务 + 10+ 中间件)和功能真实性(B站弹幕/分片上传/实时私聊)兼备的实战项目;但完整启动依赖 7+ 中间件,建议严格按文档步骤部署,避免卡在环境配置上。