AI English Studio 是一个专为英语口语学习设计的在线学习平台,支持视频学习、跟读练习、单词本等功能。
- 📹 视频学习 - 支持双语字幕的视频播放和学习进度跟踪
- 🗣️ 跟读练习 - 专业级语音评测,提供发音评分和反馈
- 📚 单词本 - 收藏生词,支持复习和掌握度跟踪
- 📊 学习统计 - 详细的学习进度、时长和成就统计
- 📁 本地学习 - 支持上传本地视频和字幕进行学习
- 👨💼 管理后台 - 视频、用户、分类、授权码管理
- React 18.3 + TypeScript
- Vite (开发服务器)
- Tailwind CSS + shadcn/ui
- TanStack Query (数据获取)
- React Router (路由)
- Express.js + TypeScript
- SQLite (sql.js)
- JWT 认证
- Multer (文件上传)
- Playwright (E2E 测试)
- 86% 测试覆盖率
在 Linux 服务器上执行以下命令即可完成全部安装部署:
# 使用 curl
curl -fsSL https://raw.githubusercontent.com/tkwa12358/aie/main/install.sh | sudo bash
# 或使用 wget
wget -qO- https://raw.githubusercontent.com/tkwa12358/aie/main/install.sh | sudo bash安装脚本会自动:
- 检测操作系统(支持 Ubuntu/Debian/CentOS/RHEL 等)
- 安装 Docker 和 Docker Compose
- 克隆项目代码到
/opt/ai-english-studio - 生成安全的 JWT 密钥和环境配置
- 构建并启动 Docker 容器
- 配置防火墙规则
安装完成后访问 http://服务器IP:3000,默认管理员账号:
- 用户名:
admin@163.com - 密码:
admin@163.com
卸载:
cd /opt/ai-english-studio && sudo ./install.sh --uninstall- Node.js 20+(仅本地开发需要)
- Docker(生产部署需要)
- 安装依赖
# 前端依赖
cd frontend
npm install
# 后端依赖
cd ../backend
npm install- 启动开发服务器
# 后端服务 (端口 3001)
cd backend
npm run dev
# 前端服务 (端口 8080)
cd frontend
npm run dev- 访问应用
- 前端: http://localhost:8080
- 后端API: http://localhost:3001/api
# 构建并启动容器
docker-compose up -d --build
# 访问应用
http://localhost:3000aie/
├── frontend/ # React前端应用
│ ├── src/
│ │ ├── components/ # 组件(按功能模块组织)
│ │ ├── pages/ # 页面组件
│ │ ├── services/ # API服务
│ │ └── types/ # TypeScript类型
│ └── package.json
├── backend/ # Express后端API
│ ├── src/
│ │ ├── controllers/ # 路由控制器
│ │ ├── middleware/ # 中间件
│ │ ├── models/ # 数据模型
│ │ └── services/ # 业务逻辑
│ └── package.json
├── tests/ # E2E测试
└── docs/ # 文档
复制 .env.example 到 .env 并配置:
# JWT认证
JWT_SECRET=your-secret-key
JWT_EXPIRES_IN=7d
# 服务端口
PORT=3000
# 数据库
DATA_DIR=./backend/database
# 文件上传
UPLOAD_DIR=./backend/uploads
MAX_FILE_SIZE=500000000
# 翻译服务(可选)
BAIDU_APP_ID=your-app-id
BAIDU_API_KEY=your-api-key
# 语音评测(可选)
AZURE_SPEECH_KEY=your-key
AZURE_SPEECH_REGION=eastasia主要API端点:
/api/auth- 用户认证/api/videos- 视频管理/api/learning- 学习进度/api/words- 单词本/api/categories- 分类管理/api/assessment- 语音评测/api/admin- 管理操作
# 运行所有E2E测试
npm test
# UI模式
npm run test:ui
# 调试模式
npm run test:debug
# 查看测试报告
npm run test:report- Fork 项目
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。