158 lines
3.1 KiB
Markdown
158 lines
3.1 KiB
Markdown
# AI学习平台
|
||
|
||
面向开发者的AI知识学习平台,提供结构化的课程内容和智能学习路径推荐。
|
||
|
||
## 功能特性
|
||
|
||
- 📚 **结构化课程**:精心设计的课程体系,涵盖机器学习、深度学习、NLP、LLM、AI工具等
|
||
- 🎯 **个性化路径**:基于兴趣和水平智能推荐学习路径
|
||
- 📊 **进度跟踪**:实时记录学习进度
|
||
- 💻 **现代化UI**:使用React + Tailwind CSS构建美观界面
|
||
- 📝 **Markdown支持**:课程内容支持Markdown格式,代码高亮
|
||
|
||
## 技术栈
|
||
|
||
### 前端
|
||
- React 18 + TypeScript
|
||
- Vite
|
||
- Tailwind CSS
|
||
- React Router
|
||
- React Markdown
|
||
|
||
### 后端
|
||
- Node.js + Express + TypeScript
|
||
- Prisma ORM
|
||
- SQLite数据库
|
||
|
||
## 快速开始
|
||
|
||
### 1. 安装依赖
|
||
|
||
```bash
|
||
npm install
|
||
npm run install:all
|
||
```
|
||
|
||
### 2. 初始化数据库
|
||
|
||
**方式一:使用自动化脚本(推荐)**
|
||
|
||
```bash
|
||
cd backend
|
||
npm run setup:db
|
||
```
|
||
|
||
**方式二:手动执行**
|
||
|
||
```bash
|
||
cd backend
|
||
npm run prisma:generate # 生成Prisma Client
|
||
npm run prisma:migrate # 创建数据库和表结构
|
||
npm run prisma:seed # 填充初始课程数据
|
||
```
|
||
|
||
数据库文件将创建在 `backend/prisma/dev.db`
|
||
|
||
### 3. 启动开发服务器
|
||
|
||
在项目根目录运行:
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
这将同时启动:
|
||
- 前端开发服务器:http://localhost:3000
|
||
- 后端API服务器:http://localhost:3001
|
||
|
||
### 单独启动
|
||
|
||
```bash
|
||
# 启动前端
|
||
npm run dev:frontend
|
||
|
||
# 启动后端
|
||
npm run dev:backend
|
||
```
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
ai-learning-platform/
|
||
├── frontend/ # React前端应用
|
||
│ ├── src/
|
||
│ │ ├── components/ # 可复用组件
|
||
│ │ ├── pages/ # 页面组件
|
||
│ │ ├── services/ # API服务
|
||
│ │ └── ...
|
||
│ └── package.json
|
||
├── backend/ # Express后端
|
||
│ ├── src/
|
||
│ │ ├── routes/ # API路由
|
||
│ │ ├── controllers/# 控制器
|
||
│ │ ├── services/ # 业务逻辑
|
||
│ │ └── ...
|
||
│ ├── prisma/ # 数据库Schema和Seed
|
||
│ └── package.json
|
||
├── shared/ # 共享TypeScript类型
|
||
└── package.json # 根package.json
|
||
```
|
||
|
||
## API端点
|
||
|
||
### 课程相关
|
||
- `GET /api/courses` - 获取课程列表
|
||
- `GET /api/courses/:id` - 获取课程详情
|
||
- `GET /api/courses/:id/chapters` - 获取章节列表
|
||
- `GET /api/chapters/:id` - 获取章节内容
|
||
|
||
### 学习路径相关
|
||
- `GET /api/paths` - 获取所有学习路径
|
||
- `POST /api/paths/generate` - 生成个性化路径
|
||
- `GET /api/paths/:id` - 获取路径详情
|
||
|
||
### 进度相关
|
||
- `GET /api/progress` - 获取用户进度
|
||
- `POST /api/progress` - 更新学习进度
|
||
|
||
## 课程分类
|
||
|
||
- **机器学习基础** (ML_BASICS)
|
||
- **深度学习** (DEEP_LEARNING)
|
||
- **自然语言处理** (NLP)
|
||
- **大语言模型** (LLM)
|
||
- **AI工具** (AI_TOOLS)
|
||
|
||
## 开发说明
|
||
|
||
### 数据库迁移
|
||
|
||
```bash
|
||
cd backend
|
||
npm run prisma:migrate
|
||
```
|
||
|
||
### 重新生成Prisma Client
|
||
|
||
```bash
|
||
cd backend
|
||
npm run prisma:generate
|
||
```
|
||
|
||
### 重新初始化数据
|
||
|
||
```bash
|
||
cd backend
|
||
npm run prisma:seed
|
||
```
|
||
|
||
## 构建生产版本
|
||
|
||
```bash
|
||
npm run build
|
||
```
|
||
|
||
## 许可证
|
||
|
||
MIT
|