AI 驱动的智能学习应用,帮助用户通过上传学习资料自动生成学习内容。
- 资料上传 - 上传 PDF、PPT、DOC 等学习资料
- AI 生成 - 自动生成播客音频、Flashcard、Quiz
- 智能复习 - 基于 Anki 记忆曲线的每日学习任务
- 学习追踪 - 记录学习进度和掌握程度
| 层级 | 技术 |
|---|---|
| Frontend | React + TypeScript + Vite + Tailwind CSS |
| Backend | NestJS + TypeScript |
| Database | PostgreSQL + Prisma ORM |
| AI | DeepSeek |
Flip/
├── apps/
│ ├── backend/ # NestJS 后端
│ │ ├── src/
│ │ ├── prisma/ # Prisma schema & migrations
│ │ └── package.json
│ └── frontend/ # React 前端
│ ├── src/
│ │ ├── pages/
│ │ ├── components/
│ │ ├── i18n/ # 国际化
│ │ └── lib/
│ └── package.json
├── data/ # 数据模型文档
├── UI/ # UI 设计稿
└── README.md
- Node.js >= 18
- PostgreSQL >= 14
- npm >= 9
# 后端
cd apps/backend
npm install
# 前端
cd apps/frontend
npm install# 后端 - 复制并编辑 .env
cd apps/backend
cp .env.example .env
# 编辑 DATABASE_URL, JWT_SECRET 等
# 前端 - 复制并编辑 .env
cd apps/frontend
cp .env.example .envcd apps/backend
npx prisma migrate dev
npx prisma generate# 后端 (端口 3000)
cd apps/backend
npm run start:dev
# 前端 (端口 5173)
cd apps/frontend
npm run dev访问:
- 前端: http://localhost:5173
- 后端 API: http://localhost:3000/api
- 文件:
kebab-case.ts - 类/接口:
PascalCase - 函数/变量:
camelCase
- 启用
strict模式 - 禁止使用
any - 所有函数必须有显式返回类型
前端使用 react-i18next,语言文件位于 apps/frontend/src/i18n/locales/
import { useTranslation } from 'react-i18next';
function Component() {
const { t } = useTranslation();
return <h1>{t('home.title')}</h1>;
}MIT