ai_learn_node/README.md
2026-01-13 09:59:40 +08:00

158 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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