本项目已完成前后端分离,拆分为两个独立仓库:
- 名称: CourseLink
- 地址: https://github.com/oceanusXXD/CourseLink
- 内容:
- Backend API (Django + LangGraph)
- Docker Compose 配置
- Nginx 配置
- 数据库配置
- 完整文档
- 名称: CourseLink-frontend
- 地址: https://github.com/oceanusXXD/CourseLink-frontend
- 内容:
- React 18 前端应用
- 独立的构建和部署配置
- 完整的前端文档
/frontend/目录(已迁移到独立仓库)- 前端相关的 Docker 配置(已在前端仓库)
/backend/- Backend API 代码/nginx/- Nginx 反向代理配置/models/- LLM 模型文件/document/- 完整项目文档docker-compose.yml- 完整部署配置- Backend 的 Dockerfile
- 更新
README.md- 说明前后端分离结构 - 更新
backend/README.md- Backend 独立文档 MIGRATION_NOTE.md- 本文件
# 1. 克隆 Backend 仓库
git clone https://github.com/oceanusXXD/CourseLink.git
cd CourseLink
# 2. 配置环境变量
cp backend/.env.example backend/.env
nano backend/.env
# 3. 启动 Backend 服务
docker-compose up -d
# 4. 克隆 Frontend 仓库
cd ..
git clone https://github.com/oceanusXXD/CourseLink-frontend.git
cd CourseLink-frontend
# 5. 配置前端环境变量
cp .env.example .env
nano .env # 设置 VITE_API_BASE_URL=http://localhost/api
# 6. 启动 Frontend
npm install
npm run devgit clone https://github.com/oceanusXXD/CourseLink.git
cd CourseLink
cp backend/.env.example backend/.env
nano backend/.env
docker-compose up -dBackend:
cd CourseLink/backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn backend.asgi:application --reloadFrontend:
cd CourseLink-frontend
npm install
npm run devCourseLink/
├── README.md # 整体项目说明(已更新)
├── MIGRATION_NOTE.md # 本文件
├── backend/
│ └── README.md # Backend 详细文档(已更新)
└── document/
├── API.md # API 参考文档
├── DEVELOPMENT.md # 开发指南
├── ENV_CONFIG.md # 环境变量配置
├── TODO.md # 项目路线图
└── README_EN.md # 英文项目说明
CourseLink-frontend/
├── README.md # Frontend 完整文档
├── QUICKSTART.md # 快速开始指南
├── DEVELOPMENT.md # 开发文档
├── CONTRIBUTING.md # 贡献指南
└── CHANGELOG.md # 更新日志
- Backend 开发: 在
CourseLink仓库提交 API 更改 - Frontend 开发: 在
CourseLink-frontend仓库提交 UI 更改 - API 变更: 更新两个仓库的文档和版本号
- Backend 相关: 在
CourseLink仓库创建 Issue - Frontend 相关: 在
CourseLink-frontend仓库创建 Issue - 跨仓库问题: 在主仓库创建,并在描述中 mention 前端仓库
docker-compose.yml 现在只包含 Backend 相关服务:
services:
backend: # Django API 服务器
db: # MySQL 数据库
nginx: # Nginx 反向代理前端可以:
- 本地开发(推荐):
npm run dev - 独立部署: 使用前端仓库的 Dockerfile
- 独立开发: 前后端团队可以独立工作
- 独立部署: 前后端可以分别部署和扩展
- 清晰职责: 仓库职责更加明确
- 文档完善: 每个仓库都有完整的文档
- CI/CD 独立: 前后端可以有独立的构建流程
- 需要在两个仓库维护 API 接口一致性
- 跨仓库的功能需要协调版本
- 文档需要同步更新
- Backend Issues: https://github.com/oceanusXXD/CourseLink/issues
- Frontend Issues: https://github.com/oceanusXXD/CourseLink-frontend/issues
- 在线演示: https://example.com
迁移完成日期: 2024-11-10