Skip to content

Latest commit

 

History

History
196 lines (147 loc) · 4.55 KB

File metadata and controls

196 lines (147 loc) · 4.55 KB

前后端分离迁移说明

仓库拆分

本项目已完成前后端分离,拆分为两个独立仓库:

主仓库 (本仓库)

前端仓库


迁移变更

删除的内容

  • /frontend/ 目录(已迁移到独立仓库)
  • 前端相关的 Docker 配置(已在前端仓库)

保留的内容

  • /backend/ - Backend API 代码
  • /nginx/ - Nginx 反向代理配置
  • /models/ - LLM 模型文件
  • /document/ - 完整项目文档
  • docker-compose.yml - 完整部署配置
  • Backend 的 Dockerfile

新增/更新的内容

  • 更新 README.md - 说明前后端分离结构
  • 更新 backend/README.md - Backend 独立文档
  • MIGRATION_NOTE.md - 本文件

如何使用

方式一:完整部署(Backend + Frontend)

# 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 dev

方式二:仅部署 Backend(API 服务)

git clone https://github.com/oceanusXXD/CourseLink.git
cd CourseLink
cp backend/.env.example backend/.env
nano backend/.env
docker-compose up -d

方式三:本地开发(前后端独立)

Backend:

cd CourseLink/backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn backend.asgi:application --reload

Frontend:

cd CourseLink-frontend
npm install
npm run dev

文档更新

主仓库文档结构

CourseLink/
├── 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                 # 更新日志

跨仓库协作

开发流程

  1. Backend 开发: 在 CourseLink 仓库提交 API 更改
  2. Frontend 开发: 在 CourseLink-frontend 仓库提交 UI 更改
  3. API 变更: 更新两个仓库的文档和版本号

Issues 管理

  • Backend 相关: 在 CourseLink 仓库创建 Issue
  • Frontend 相关: 在 CourseLink-frontend 仓库创建 Issue
  • 跨仓库问题: 在主仓库创建,并在描述中 mention 前端仓库

Docker Compose 说明

docker-compose.yml 现在只包含 Backend 相关服务:

services:
  backend:   # Django API 服务器
  db:        # MySQL 数据库
  nginx:     # Nginx 反向代理

前端可以:

  1. 本地开发(推荐): npm run dev
  2. 独立部署: 使用前端仓库的 Dockerfile

迁移优势

优点

  1. 独立开发: 前后端团队可以独立工作
  2. 独立部署: 前后端可以分别部署和扩展
  3. 清晰职责: 仓库职责更加明确
  4. 文档完善: 每个仓库都有完整的文档
  5. CI/CD 独立: 前后端可以有独立的构建流程

注意事项

  1. 需要在两个仓库维护 API 接口一致性
  2. 跨仓库的功能需要协调版本
  3. 文档需要同步更新

获取帮助


迁移完成日期: 2024-11-10