SwiftFeed 是一个面向短视频场景的 Feed 系统工程。项目用 Go API 单体、React Web 客户端、MySQL、Redis 和 RabbitMQ 承载内容供给、分发、消费、互动和治理链路。
已实现能力:
- 后端分层结构:Domain、Application、Infrastructure、Interfaces。
- Gin HTTP 服务入口和 REST API 路由。
- MySQL + GORM 持久化。
- JWT 登录态。
- Redis Feed 缓存、热榜和互动计数。
- RabbitMQ 异步互动落库、视频发布事件和向量任务。
- React + Vite Web 客户端。
- 消息中心和播放优化接入。
- API 流程测试和 Web 生产构建。
重点待补能力:
- 审核后台。
- 后台运营。
- 系统治理。
- 监控看板。
前置依赖:
- Docker
- Docker Compose
启动:
cd apps
docker compose up --build后台启动:
cd apps
docker compose up -d --build查看日志:
cd apps
docker compose logs -f api web停止:
cd apps
docker compose down清理数据库、Redis 和上传文件数据卷:
cd apps
docker compose down -v服务地址:
| 服务 | 地址 |
|---|---|
| Web | http://127.0.0.1:5173 |
| API 健康检查 | http://127.0.0.1:8080/health |
| MySQL | 127.0.0.1:3307 |
| Redis | 127.0.0.1:6379 |
| RabbitMQ 管理台 | http://127.0.0.1:15672 |
./scripts/start.sh默认地址:
| 服务 | 地址 |
|---|---|
| Web | http://127.0.0.1:5173 |
| API | http://127.0.0.1:8080 |
| 文档 | 用途 |
|---|---|
| docs/product.md | 产品范围、模块地图、P0/P1 功能清单 |
| docs/quickread.md | 新读者代码阅读路线 |
| docs/architecture.md | 系统架构、分层、核心链路、数据模型 |
| docs/engineering.md | 工程规范、目录规则、API 风格、测试约定 |
| docs/optimization.md | Feed 性能和稳定性专题 |
| docs/uiux.md | Web 客户端 UI/UX 规格 |
| docs/modules/ | 各业务模块设计 |
| openspec/ | OpenSpec 项目基线和变更规格 |
新增功能优先按 OpenSpec 建 change,再按工程规范实现:
openspec list
openspec validate --all --strict新增后端模块时参考 docs/engineering.md 的分层模板和 docs/modules/README.md 的模块规格入口。