init
This commit is contained in:
800
README.md
Normal file
800
README.md
Normal file
@@ -0,0 +1,800 @@
|
||||
# AI英语学习平台
|
||||
|
||||
一个基于AI技术的智能英语学习平台,提供个性化的英语学习体验,包括词汇学习、听力训练、阅读理解、写作练习和口语练习等功能。
|
||||
|
||||
## 🌟 特性
|
||||
|
||||
- **智能词汇学习**:基于艾宾浩斯遗忘曲线的智能复习系统
|
||||
- **听力训练**:多样化的听力材料和智能评估
|
||||
- **阅读理解**:分级阅读材料和理解测试
|
||||
- **写作练习**:AI智能批改和写作建议
|
||||
- **口语练习**:AI对话伙伴和发音评估
|
||||
- **学习统计**:详细的学习进度和成绩分析
|
||||
- **个性化推荐**:基于学习数据的智能内容推荐
|
||||
|
||||
## 🏗️ 技术架构
|
||||
|
||||
### 后端技术栈
|
||||
- **语言**:Go 1.19+
|
||||
- **框架**:Gin Web Framework
|
||||
- **数据库**:MySQL 8.0+
|
||||
- **缓存**:Redis 7.0+
|
||||
- **认证**:JWT Token
|
||||
- **日志**:Logrus
|
||||
- **配置**:Viper
|
||||
- **容器化**:Docker & Docker Compose
|
||||
|
||||
### 前端技术栈
|
||||
- **框架**:Flutter
|
||||
- **状态管理**:Provider/Riverpod
|
||||
- **网络请求**:Dio
|
||||
- **本地存储**:SharedPreferences/Hive
|
||||
|
||||
## 📁 项目结构
|
||||
|
||||
```
|
||||
ai_english_learning/
|
||||
├── client/ # Flutter前端应用
|
||||
│ ├── lib/
|
||||
│ │ ├── models/ # 数据模型
|
||||
│ │ ├── services/ # 业务服务
|
||||
│ │ ├── screens/ # 页面组件
|
||||
│ │ ├── widgets/ # 通用组件
|
||||
│ │ └── utils/ # 工具类
|
||||
│ └── pubspec.yaml
|
||||
├── serve/ # Go后端服务
|
||||
│ ├── api/ # API处理器
|
||||
│ ├── internal/ # 内部模块
|
||||
│ │ ├── config/ # 配置管理
|
||||
│ │ ├── database/ # 数据库操作
|
||||
│ │ ├── logger/ # 日志系统
|
||||
│ │ ├── middleware/ # 中间件
|
||||
│ │ ├── models/ # 数据模型
|
||||
│ │ └── services/ # 业务服务
|
||||
│ ├── config/ # 配置文件
|
||||
│ ├── logs/ # 日志文件
|
||||
│ ├── main.go # 应用入口
|
||||
│ ├── router.go # 路由配置
|
||||
│ ├── Dockerfile # Docker配置
|
||||
│ ├── Makefile # 构建脚本
|
||||
│ └── start.sh # 启动脚本
|
||||
├── docs/ # 项目文档
|
||||
│ ├── API接口文档.md
|
||||
│ ├── 需求文档.md
|
||||
│ ├── 技术架构文档.md
|
||||
│ └── database_schema.sql
|
||||
├── docker-compose.yml # Docker Compose配置
|
||||
├── DEPLOYMENT.md # 部署指南
|
||||
└── README.md # 项目说明
|
||||
```
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Go 1.19+
|
||||
- MySQL 8.0+
|
||||
- Redis 7.0+
|
||||
- Docker & Docker Compose (可选)
|
||||
- Flutter 3.0+ (前端开发)
|
||||
|
||||
### 使用Docker Compose(推荐)
|
||||
|
||||
1. **克隆项目**
|
||||
```bash
|
||||
git clone <repository-url>
|
||||
cd ai_english_learning
|
||||
```
|
||||
|
||||
2. **启动所有服务**
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
3. **查看服务状态**
|
||||
```bash
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
4. **访问应用**
|
||||
- 后端API:http://localhost:8080
|
||||
- 健康检查:http://localhost:8080/health
|
||||
- API文档:查看 `docs/API接口文档.md`
|
||||
|
||||
### 本地开发
|
||||
|
||||
#### 后端开发
|
||||
|
||||
1. **进入后端目录**
|
||||
```bash
|
||||
cd serve
|
||||
```
|
||||
|
||||
2. **安装依赖**
|
||||
```bash
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
3. **配置数据库**
|
||||
```bash
|
||||
# 创建数据库
|
||||
mysql -u root -p -e "CREATE DATABASE ai_english_learning CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||||
|
||||
# 导入数据库结构
|
||||
mysql -u root -p ai_english_learning < ../docs/database_schema.sql
|
||||
```
|
||||
|
||||
4. **配置应用**
|
||||
```bash
|
||||
# 复制配置文件
|
||||
cp config/config.yaml config/config.local.yaml
|
||||
|
||||
# 编辑配置文件,修改数据库连接等信息
|
||||
vim config/config.local.yaml
|
||||
```
|
||||
|
||||
5. **启动应用**
|
||||
```bash
|
||||
# 使用启动脚本(推荐)
|
||||
./start.sh -d
|
||||
|
||||
# 或者直接运行
|
||||
go run .
|
||||
|
||||
# 或者使用Makefile
|
||||
make dev
|
||||
```
|
||||
|
||||
#### 前端开发
|
||||
|
||||
1. **进入前端目录**
|
||||
```bash
|
||||
cd client
|
||||
```
|
||||
|
||||
2. **安装依赖**
|
||||
```bash
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
3. **运行应用**
|
||||
```bash
|
||||
flutter run
|
||||
```
|
||||
4. **使用安卓模拟器启动预览**
|
||||
```
|
||||
检查设备
|
||||
$ flutter devices
|
||||
软件加速模式启动模拟器
|
||||
$ emulator -avd flutter_emulator -no-accel
|
||||
使用完整路径来启动模拟器
|
||||
$ ANDROID_HOME/emulator/emulator -avd flutter_emulator -no-accel
|
||||
|
||||
等待模拟器启动后,启动服务
|
||||
$ flutter run -d emulator-5554
|
||||
flutter run -d chrome --web-port=3003
|
||||
```
|
||||
# 进入前端目录
|
||||
cd /home/nanqipro01/gitlocal/YunQue-Tech-Projects/ai_english_learning/client
|
||||
|
||||
# 在模拟器上运行应用
|
||||
flutter run -d emulator-5554
|
||||
|
||||
# 或者让Flutter自动选择设备
|
||||
flutter run
|
||||
|
||||
|
||||
## 📖 API文档
|
||||
|
||||
详细的API文档请查看:[API接口文档.md](docs/API接口文档.md)
|
||||
|
||||
### 主要API端点
|
||||
|
||||
- **认证相关**
|
||||
- `POST /api/auth/register` - 用户注册
|
||||
- `POST /api/auth/login` - 用户登录
|
||||
- `POST /api/auth/refresh` - 刷新Token
|
||||
|
||||
- **用户管理**
|
||||
- `GET /api/users/profile` - 获取用户信息
|
||||
- `PUT /api/users/profile` - 更新用户信息
|
||||
- `GET /api/users/stats` - 获取学习统计
|
||||
|
||||
- **词汇学习**
|
||||
- `GET /api/vocabulary/words` - 获取单词列表
|
||||
- `POST /api/vocabulary/learn` - 学习单词
|
||||
- `GET /api/vocabulary/review` - 获取复习单词
|
||||
|
||||
- **健康检查**
|
||||
- `GET /health` - 综合健康检查
|
||||
- `GET /health/liveness` - 存活检查
|
||||
- `GET /health/readiness` - 就绪检查
|
||||
- `GET /version` - 版本信息
|
||||
|
||||
## 🔧 配置说明
|
||||
|
||||
### 环境变量
|
||||
|
||||
```bash
|
||||
# 服务器配置
|
||||
SERVER_PORT=8080
|
||||
SERVER_MODE=release
|
||||
|
||||
# 数据库配置
|
||||
DATABASE_HOST=localhost
|
||||
DATABASE_PORT=3306
|
||||
DATABASE_USER=ai_english
|
||||
DATABASE_PASSWORD=your_password
|
||||
DATABASE_NAME=ai_english_learning
|
||||
|
||||
# Redis配置
|
||||
REDIS_HOST=localhost
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
|
||||
# JWT配置
|
||||
JWT_SECRET=your-super-secret-jwt-key
|
||||
JWT_ACCESS_TOKEN_TTL=3600
|
||||
JWT_REFRESH_TOKEN_TTL=604800
|
||||
|
||||
# 应用配置
|
||||
APP_ENVIRONMENT=production
|
||||
LOG_LEVEL=info
|
||||
```
|
||||
|
||||
### 配置文件
|
||||
|
||||
配置文件位于 `serve/config/config.yaml`,支持多环境配置。
|
||||
|
||||
## 🧪 测试
|
||||
|
||||
### 运行测试
|
||||
|
||||
```bash
|
||||
# 后端测试
|
||||
cd serve
|
||||
make test
|
||||
|
||||
# 前端测试
|
||||
cd client
|
||||
flutter test
|
||||
```
|
||||
|
||||
### 性能测试
|
||||
|
||||
```bash
|
||||
cd serve
|
||||
make bench
|
||||
```
|
||||
|
||||
## 📦 部署
|
||||
|
||||
详细的部署指南请查看:[DEPLOYMENT.md](DEPLOYMENT.md)
|
||||
|
||||
### 生产环境部署
|
||||
|
||||
1. **构建Docker镜像**
|
||||
```bash
|
||||
make docker-build
|
||||
```
|
||||
|
||||
2. **部署到生产环境**
|
||||
```bash
|
||||
docker-compose -f docker-compose.prod.yml up -d
|
||||
```
|
||||
|
||||
3. **配置反向代理**
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name your-domain.com;
|
||||
|
||||
location / {
|
||||
proxy_pass http://localhost:8080;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 🔍 监控和维护
|
||||
|
||||
### 日志查看
|
||||
|
||||
```bash
|
||||
# 查看应用日志
|
||||
tail -f serve/logs/app.log
|
||||
|
||||
# Docker环境日志
|
||||
docker-compose logs -f ai-english-backend
|
||||
```
|
||||
|
||||
### 健康检查
|
||||
|
||||
```bash
|
||||
# 检查服务状态
|
||||
curl http://localhost:8080/health
|
||||
|
||||
# 检查版本信息
|
||||
curl http://localhost:8080/version
|
||||
```
|
||||
|
||||
### 数据库备份
|
||||
|
||||
```bash
|
||||
# 备份数据库
|
||||
mysqldump -u root -p ai_english_learning > backup_$(date +%Y%m%d_%H%M%S).sql
|
||||
|
||||
# 使用Makefile
|
||||
make backup
|
||||
```
|
||||
|
||||
## 🤝 贡献指南
|
||||
|
||||
1. Fork 项目
|
||||
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
|
||||
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
||||
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
||||
5. 打开 Pull Request
|
||||
|
||||
### 代码规范
|
||||
|
||||
- **Go代码**:遵循 `gofmt` 和 `golint` 规范
|
||||
- **Flutter代码**:遵循 Dart 官方代码规范
|
||||
- **提交信息**:使用语义化提交信息
|
||||
|
||||
## 📄 许可证
|
||||
|
||||
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
|
||||
|
||||
## 📞 联系我们
|
||||
|
||||
- **项目维护者**:[Your Name]
|
||||
- **邮箱**:[your.email@example.com]
|
||||
- **问题反馈**:[GitHub Issues](https://github.com/your-username/ai-english-learning/issues)
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
感谢所有为这个项目做出贡献的开发者和用户。
|
||||
|
||||
---
|
||||
|
||||
**注意**:这是一个学习项目,仅供教育和研究目的使用。
|
||||
|
||||
## 核心特色
|
||||
|
||||
### 🤖 AI驱动的个性化学习
|
||||
- 基于用户学习数据的智能推荐系统
|
||||
- 自适应学习路径规划
|
||||
- 个性化学习内容匹配
|
||||
- 智能学习进度调整
|
||||
|
||||
### 📚 全技能覆盖
|
||||
- **词汇学习**:科学记忆算法,多维度词汇训练
|
||||
- **听力训练**:分级听力材料,智能语音识别
|
||||
- **阅读理解**:多样化文章,智能阅读辅助
|
||||
- **写作练习**:AI智能批改,实时反馈改进
|
||||
- **口语练习**:AI对话伙伴,发音智能评估
|
||||
|
||||
### 🎯 考试导向支持
|
||||
- 四六级英语考试专项训练
|
||||
- 托福、雅思考试备考模块
|
||||
- 考研英语专业辅导
|
||||
- 商务英语实用技能
|
||||
|
||||
### 📊 数据驱动的学习分析
|
||||
- 详细的学习数据统计
|
||||
- 多维度能力分析报告
|
||||
- 学习进度可视化展示
|
||||
- 个性化改进建议
|
||||
|
||||
## 主要功能模块
|
||||
|
||||
### 1. 个人主页
|
||||
- 学习数据概览(已学单词数、连续打卡天数、平均得分)
|
||||
- 学习进度可视化(词库进度、技能雷达图)
|
||||
- 今日学习推荐
|
||||
- 个人信息管理
|
||||
|
||||
### 2. 单词学习模块
|
||||
- **分级词库**:从小学到专业级别的完整词汇体系
|
||||
- **智能记忆**:基于艾宾浩斯记忆曲线的复习算法
|
||||
- **多模式学习**:卡片背诵、测试练习、语境学习
|
||||
- **AI助手**:智能例句生成、词汇关联、记忆技巧
|
||||
|
||||
### 3. 听力训练模块
|
||||
- **分级内容**:从日常对话到学术讲座的全覆盖
|
||||
- **智能播放**:语速调节、重复播放、字幕控制
|
||||
- **多样练习**:理解练习、听写练习、跟读练习
|
||||
- **能力分析**:语音识别、语义理解、语速适应能力评估
|
||||
|
||||
### 4. 阅读理解模块
|
||||
- **双模式阅读**:休闲阅读和练习阅读
|
||||
- **智能辅助**:即点即译、段落摘要、结构分析
|
||||
- **多样题型**:主旨大意、细节理解、推理判断
|
||||
- **技能训练**:快速阅读、精读、扫读、略读
|
||||
|
||||
### 5. 写作练习模块
|
||||
- **多种模式**:中译英练习、话题写作
|
||||
- **考试专项**:四六级、考研、托福、雅思写作
|
||||
- **AI智能批改**:语法检查、词汇评估、表达流畅度分析
|
||||
- **写作辅助**:模板库、素材库、例句参考
|
||||
|
||||
### 6. 口语练习模块
|
||||
- **AI对话伙伴**:商务、日常、旅行、学术等专业导师
|
||||
- **场景训练**:生活、职场、学术等真实场景对话
|
||||
- **智能评估**:发音准确度、流利度、语法正确性
|
||||
- **个性化训练**:能力诊断、适应性训练
|
||||
|
||||
### 7. AI智能助手
|
||||
- **个性化推荐**:学习内容和路径智能推荐
|
||||
- **智能答疑**:语言问题解答、学习方法指导
|
||||
- **学习分析**:行为分析、能力诊断
|
||||
- **多模态交互**:文本、语音、视觉交互支持
|
||||
|
||||
## 技术架构
|
||||
|
||||
### 前端技术
|
||||
- **Flutter**:跨平台移动应用开发
|
||||
- 支持iOS、Android、Web、桌面多平台
|
||||
- 响应式设计,优秀的用户体验
|
||||
|
||||
### 后端技术
|
||||
- **Go Gin**:高性能API服务
|
||||
- **微服务架构**:模块化、可扩展的系统设计
|
||||
- **MySQL 8.0**:可靠的关系型数据库
|
||||
|
||||
### AI技术栈
|
||||
- **Hugging Face Transformers**:自然语言处理
|
||||
- **PyTorch**:深度学习框架
|
||||
- **spaCy**:高级自然语言处理
|
||||
- **语音识别与合成**:智能语音处理
|
||||
|
||||
### 部署与运维
|
||||
- **Docker + Docker Compose**:容器化部署
|
||||
- **GitHub Actions/Codemagic**:CI/CD自动化
|
||||
- **Celery + RabbitMQ/Redis**:异步任务处理
|
||||
|
||||
## 项目结构
|
||||
|
||||
### 整体项目结构
|
||||
|
||||
```
|
||||
ai_english_learning/
|
||||
├── docs/ # 项目文档
|
||||
│ ├── UI界面设计/ # UI设计文件
|
||||
│ ├── 详细需求文档.md # 功能需求文档
|
||||
│ └── 技术选型.md # 技术架构文档
|
||||
├── client/ # 前端代码(Flutter)
|
||||
├── serve/ # 后端代码(Go)
|
||||
├── deployment/ # 部署配置
|
||||
├── tests/ # 测试代码
|
||||
├── docker-compose.yml # Docker编排文件
|
||||
└── README.md # 项目说明文档
|
||||
```
|
||||
|
||||
### 前端项目结构(Flutter)
|
||||
|
||||
```
|
||||
client/
|
||||
├── android/ # Android平台配置
|
||||
├── ios/ # iOS平台配置
|
||||
├── lib/ # 主要源代码目录
|
||||
│ ├── main.dart # 应用入口文件
|
||||
│ ├── core/ # 核心功能模块
|
||||
│ │ ├── constants/ # 常量定义
|
||||
│ │ │ ├── app_constants.dart
|
||||
│ │ │ ├── api_constants.dart
|
||||
│ │ │ └── color_constants.dart
|
||||
│ │ ├── services/ # 核心服务
|
||||
│ │ │ ├── api_service.dart # API服务封装
|
||||
│ │ │ ├── auth_service.dart # 认证服务
|
||||
│ │ │ ├── storage_service.dart # 本地存储
|
||||
│ │ │ └── notification_service.dart # 通知服务
|
||||
│ │ ├── utils/ # 工具类
|
||||
│ │ │ ├── validators.dart # 表单验证
|
||||
│ │ │ ├── formatters.dart # 数据格式化
|
||||
│ │ │ └── helpers.dart # 辅助函数
|
||||
│ │ └── widgets/ # 通用组件
|
||||
│ │ ├── custom_button.dart
|
||||
│ │ ├── custom_text_field.dart
|
||||
│ │ ├── loading_widget.dart
|
||||
│ │ └── error_widget.dart
|
||||
│ ├── features/ # 功能模块
|
||||
│ │ ├── auth/ # 认证模块
|
||||
│ │ │ ├── models/ # 数据模型
|
||||
│ │ │ ├── providers/ # 状态管理
|
||||
│ │ │ ├── screens/ # 页面组件
|
||||
│ │ │ └── widgets/ # 功能组件
|
||||
│ │ ├── home/ # 主页模块
|
||||
│ │ ├── vocabulary/ # 词汇学习模块
|
||||
│ │ ├── listening/ # 听力训练模块
|
||||
│ │ ├── reading/ # 阅读理解模块
|
||||
│ │ ├── writing/ # 写作练习模块
|
||||
│ │ ├── speaking/ # 口语练习模块
|
||||
│ │ ├── profile/ # 个人中心模块
|
||||
│ │ └── settings/ # 设置模块
|
||||
│ ├── models/ # 全局数据模型
|
||||
│ │ ├── user_model.dart
|
||||
│ │ ├── vocabulary_model.dart
|
||||
│ │ ├── learning_model.dart
|
||||
│ │ └── response_model.dart
|
||||
│ ├── providers/ # 全局状态管理
|
||||
│ │ ├── auth_provider.dart
|
||||
│ │ ├── user_provider.dart
|
||||
│ │ ├── theme_provider.dart
|
||||
│ │ └── language_provider.dart
|
||||
│ ├── routes/ # 路由配置
|
||||
│ │ ├── app_routes.dart
|
||||
│ │ └── route_generator.dart
|
||||
│ └── themes/ # 主题配置
|
||||
│ ├── app_theme.dart
|
||||
│ ├── light_theme.dart
|
||||
│ └── dark_theme.dart
|
||||
├── assets/ # 静态资源
|
||||
│ ├── images/ # 图片资源
|
||||
│ ├── icons/ # 图标资源
|
||||
│ ├── fonts/ # 字体文件
|
||||
│ └── audio/ # 音频文件
|
||||
├── test/ # 测试文件
|
||||
├── pubspec.yaml # 依赖配置文件
|
||||
└── analysis_options.yaml # 代码分析配置
|
||||
```
|
||||
|
||||
### 后端项目结构(Go)
|
||||
|
||||
```
|
||||
serve/
|
||||
├── main.go # 应用入口文件
|
||||
├── start.sh # 启动脚本
|
||||
├── go.mod # Go模块依赖
|
||||
├── go.sum # 依赖校验文件
|
||||
├── Dockerfile # Docker构建文件
|
||||
├── .dockerignore # Docker忽略文件
|
||||
├── config/ # 配置管理
|
||||
│ ├── config.go # 配置结构定义
|
||||
│ └── config.yaml # 配置文件
|
||||
├── api/ # API层
|
||||
│ ├── router.go # 路由配置
|
||||
│ ├── middleware.go # 中间件配置
|
||||
│ └── handlers/ # 请求处理器
|
||||
│ ├── auth_handler.go # 认证处理
|
||||
│ ├── user_handler.go # 用户管理
|
||||
│ ├── vocabulary_handler.go # 词汇功能
|
||||
│ ├── listening_handler.go # 听力功能
|
||||
│ ├── reading_handler.go # 阅读功能
|
||||
│ ├── writing_handler.go # 写作功能
|
||||
│ ├── speaking_handler.go # 口语功能
|
||||
│ └── health_handler.go # 健康检查
|
||||
├── internal/ # 内部模块
|
||||
│ ├── common/ # 通用组件
|
||||
│ │ ├── errors.go # 错误定义
|
||||
│ │ └── response.go # 响应格式
|
||||
│ ├── database/ # 数据库层
|
||||
│ │ ├── database.go # 数据库连接
|
||||
│ │ ├── migrate.go # 数据库迁移
|
||||
│ │ └── seed.go # 数据初始化
|
||||
│ ├── handler/ # 业务处理器
|
||||
│ │ ├── ai_handler.go # AI服务处理
|
||||
│ │ └── upload_handler.go # 文件上传处理
|
||||
│ ├── logger/ # 日志系统
|
||||
│ │ └── logger.go # 日志配置
|
||||
│ ├── middleware/ # 中间件
|
||||
│ │ ├── auth.go # 认证中间件
|
||||
│ │ ├── cors.go # 跨域中间件
|
||||
│ │ ├── error_handler.go # 错误处理中间件
|
||||
│ │ └── logger.go # 日志中间件
|
||||
│ ├── models/ # 数据模型
|
||||
│ │ ├── user.go # 用户模型
|
||||
│ │ ├── vocabulary.go # 词汇模型
|
||||
│ │ ├── learning.go # 学习记录模型
|
||||
│ │ └── ai_models.go # AI相关模型
|
||||
│ ├── services/ # 业务服务层
|
||||
│ │ ├── user_service.go # 用户服务
|
||||
│ │ ├── vocabulary_service.go # 词汇服务
|
||||
│ │ ├── listening_service.go # 听力服务
|
||||
│ │ ├── reading_service.go # 阅读服务
|
||||
│ │ ├── writing_service.go # 写作服务
|
||||
│ │ ├── speaking_service.go # 口语服务
|
||||
│ │ ├── ai_service.go # AI服务
|
||||
│ │ └── upload_service.go # 文件上传服务
|
||||
│ └── utils/ # 工具函数
|
||||
│ └── utils.go # 通用工具
|
||||
└── uploads/ # 文件上传目录
|
||||
├── audio/ # 音频文件
|
||||
└── images/ # 图片文件
|
||||
```
|
||||
|
||||
### 核心技术架构
|
||||
|
||||
#### 前端架构特点
|
||||
- **模块化设计**:按功能模块组织代码,便于维护和扩展
|
||||
- **状态管理**:使用Provider进行全局状态管理
|
||||
- **组件复用**:通用组件和功能组件分离,提高代码复用性
|
||||
- **主题系统**:支持明暗主题切换,提供良好的用户体验
|
||||
- **路由管理**:统一的路由配置和导航管理
|
||||
- **响应式设计**:适配不同屏幕尺寸的设备
|
||||
|
||||
#### 后端架构特点
|
||||
- **分层架构**:Handler -> Service -> Model 的清晰分层
|
||||
- **中间件系统**:认证、日志、错误处理等中间件
|
||||
- **配置管理**:统一的配置文件和环境变量管理
|
||||
- **数据库设计**:GORM ORM框架,支持自动迁移和数据初始化
|
||||
- **API设计**:RESTful API设计,统一的响应格式
|
||||
- **日志系统**:结构化日志,支持不同级别和输出方式
|
||||
- **文件管理**:支持音频、图片等多媒体文件上传和管理
|
||||
|
||||
#### 数据库设计
|
||||
- **用户系统**:用户信息、偏好设置、社交链接
|
||||
- **词汇系统**:词汇分类、词汇定义、例句、图片
|
||||
- **学习记录**:听力、阅读、写作、口语的学习记录和进度
|
||||
- **AI服务**:AI相关的配置和使用记录
|
||||
- **关系设计**:合理的外键关系和索引优化
|
||||
|
||||
#### 安全特性
|
||||
- **JWT认证**:基于Token的无状态认证
|
||||
- **密码加密**:bcrypt加密存储用户密码
|
||||
- **CORS配置**:跨域请求安全控制
|
||||
- **输入验证**:前后端双重数据验证
|
||||
- **错误处理**:统一的错误处理和日志记录
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 环境要求
|
||||
- Flutter SDK 3.0+
|
||||
- Go 1.19+
|
||||
- MySQL 8.0+
|
||||
- Docker & Docker Compose
|
||||
- Node.js 16+ (用于部分工具)
|
||||
|
||||
### 安装步骤
|
||||
|
||||
1. **克隆项目**
|
||||
```bash
|
||||
git clone https://github.com/your-org/ai_english_learning.git
|
||||
cd ai_english_learning
|
||||
```
|
||||
|
||||
2. **后端环境设置**
|
||||
```bash
|
||||
cd backend
|
||||
# 初始化Go模块
|
||||
go mod init ai_english_learning
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
3. **数据库设置**
|
||||
```bash
|
||||
# 启动MySQL数据库
|
||||
docker-compose up -d mysql
|
||||
|
||||
# 运行数据库迁移
|
||||
go run cmd/migrate/main.go
|
||||
```
|
||||
|
||||
4. **前端环境设置**
|
||||
```bash
|
||||
cd frontend
|
||||
flutter pub get
|
||||
flutter run
|
||||
```
|
||||
|
||||
5. **启动开发服务器**
|
||||
```bash
|
||||
# 后端API服务
|
||||
cd backend
|
||||
go run main.go
|
||||
|
||||
# AI服务
|
||||
celery -A ai_services worker --loglevel=info
|
||||
```
|
||||
|
||||
## 开发指南
|
||||
|
||||
### 代码规范
|
||||
- 遵循Go官方代码规范(gofmt, golint)
|
||||
- 使用Flutter官方代码规范
|
||||
- 提交前运行代码格式化和静态检查
|
||||
|
||||
### 测试
|
||||
```bash
|
||||
# 后端测试
|
||||
go test ./...
|
||||
|
||||
# 前端测试
|
||||
flutter test
|
||||
```
|
||||
|
||||
### 部署
|
||||
```bash
|
||||
# 使用Docker Compose部署
|
||||
docker-compose up -d
|
||||
|
||||
# 生产环境部署
|
||||
docker-compose -f docker-compose.prod.yml up -d
|
||||
```
|
||||
|
||||
## 学习目标用户
|
||||
|
||||
### 学生群体
|
||||
- **小学生**:基础词汇学习,简单对话练习
|
||||
- **中学生**:考试备考,技能全面提升
|
||||
- **大学生**:四六级备考,学术英语提升
|
||||
- **研究生**:考研英语,学术写作训练
|
||||
|
||||
### 成人学习者
|
||||
- **职场人士**:商务英语,职业发展需求
|
||||
- **出国留学**:托福雅思备考,留学准备
|
||||
- **兴趣学习**:日常英语,文化交流
|
||||
- **专业提升**:行业英语,专业技能
|
||||
|
||||
## 学习效果
|
||||
|
||||
### 短期效果(1-3个月)
|
||||
- 词汇量显著增加(500-1500词)
|
||||
- 听力理解能力明显提升
|
||||
- 基础语法掌握更加牢固
|
||||
- 口语表达更加自信
|
||||
|
||||
### 中期效果(3-6个月)
|
||||
- 阅读速度和理解能力大幅提升
|
||||
- 写作表达更加地道和流畅
|
||||
- 口语交流基本无障碍
|
||||
- 考试成绩显著提高
|
||||
|
||||
### 长期效果(6个月以上)
|
||||
- 英语思维逐步建立
|
||||
- 能够进行复杂的英语交流
|
||||
- 具备独立的英语学习能力
|
||||
- 达到目标英语水平
|
||||
|
||||
## 贡献指南
|
||||
|
||||
我们欢迎社区贡献!请遵循以下步骤:
|
||||
|
||||
1. Fork 项目仓库
|
||||
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
|
||||
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
||||
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
||||
5. 创建 Pull Request
|
||||
|
||||
### 贡献类型
|
||||
- 🐛 Bug修复
|
||||
- ✨ 新功能开发
|
||||
- 📚 文档改进
|
||||
- 🎨 UI/UX优化
|
||||
- ⚡ 性能优化
|
||||
- 🧪 测试覆盖
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
|
||||
|
||||
## 联系我们
|
||||
|
||||
- **项目主页**:https://github.com/your-org/ai_english_learning
|
||||
- **问题反馈**:https://github.com/your-org/ai_english_learning/issues
|
||||
- **邮箱联系**:contact@ai-english-learning.com
|
||||
- **官方网站**:https://www.ai-english-learning.com
|
||||
|
||||
## 更新日志
|
||||
|
||||
### v1.0.0 (2024-01-01)
|
||||
- 🎉 项目初始版本发布
|
||||
- ✨ 完整的词汇学习模块
|
||||
- ✨ 基础的听说读写功能
|
||||
- ✨ AI智能助手集成
|
||||
- ✨ 用户数据统计分析
|
||||
|
||||
### 即将发布
|
||||
- 🔄 更多AI功能集成
|
||||
- 📱 移动端应用优化
|
||||
- 🌐 多语言界面支持
|
||||
- 🎮 游戏化学习元素
|
||||
- 👥 社交学习功能
|
||||
|
||||
---
|
||||
|
||||
**让AI助力您的英语学习之旅!** 🚀
|
||||
|
||||
通过科学的学习方法和先进的AI技术,我们相信每个人都能够高效地掌握英语,实现自己的学习目标。立即开始您的智能英语学习体验吧!
|
||||
Reference in New Issue
Block a user