# feedsystem_video_go 基于 Go 的短视频 Feed 系统(后端 + 前端),包含账号、视频、点赞、评论、关注与 Feed 流;支持 Redis 缓存与 RabbitMQ 异步 Worker(API 进程与 Worker 进程可拆分部署)。 详细设计与接口说明请阅读:`feedsystem_video_go项目设计.md`(包含模块设计、表结构、流程图与接口清单)。 ## [项目演示](https://www.bilibili.com/video/BV1Dti7B9E6Y?vd_source=4b2884373b2c4c4147b10162c1709276) ## Docker Compose 一键启动(推荐) 要求:已安装 Docker Desktop / Docker Engine + Docker Compose。 ```bash docker compose up -d --build ``` 访问: - 前端:`http://localhost:5173` - 后端 API:`http://localhost:8080` - RabbitMQ 管理台:`http://localhost:15672`(默认账号 `admin` / `password123`) 说明: - Compose 会启动 `mysql`、`redis`、`rabbitmq`、`backend`(API)、`worker`、`frontend`。 - 容器内后端配置使用 `backend/configs/config.docker.yaml`(会挂载到 `/app/configs/config.yaml`)。 ## 本地开发启动(不容器化) 1) 先启动依赖(也可以只用 compose 拉起依赖): ```bash docker compose up -d mysql redis rabbitmq ``` 2) 用 compose 启 MySQL 时,宿主机端口是 `3307`。本地 Go 进程请使用面向 compose 依赖的配置文件 `backend/configs/config.compose-local.yaml`。 3) 启动后端 API: ```bash cd backend CONFIG_PATH=configs/config.compose-local.yaml go run ./cmd ``` 4) 启动 Worker(消费 MQ、异步落库/更新 Redis 热榜): ```bash cd backend CONFIG_PATH=configs/config.compose-local.yaml go run ./cmd/worker ``` 5) 启动前端(开发模式): ```bash cd frontend npm install npm run dev ``` 前端默认使用 Vite 代理 `/api` 到 `http://127.0.0.1:8080`(见 `frontend/vite.config.ts`)。 `backend/configs/config.yaml` 继续适用于本机原生 MySQL `3306` 的场景。 ## Star History [![Star History Chart](https://api.star-history.com/svg?repos=LeoninCS/feedsystem_video_go&type=Date)](https://www.star-history.com/#LeoninCS/feedsystem_video_go&Date)