2025-11-17 14:09:17 +08:00
2025-11-17 14:09:17 +08:00
2025-11-17 14:09:17 +08:00
2025-11-17 14:09:17 +08:00
2025-11-17 14:09:17 +08:00
2025-11-17 14:09:17 +08:00
2025-11-17 14:09:17 +08:00
2025-11-17 14:09:17 +08:00
2025-11-17 14:09:17 +08:00
2025-11-17 14:09:17 +08:00

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. 克隆项目
git clone <repository-url>
cd ai_english_learning
  1. 启动所有服务
docker-compose up -d
  1. 查看服务状态
docker-compose ps
  1. 访问应用

本地开发

后端开发

  1. 进入后端目录
cd serve
  1. 安装依赖
go mod tidy
  1. 配置数据库
# 创建数据库
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
  1. 配置应用
# 复制配置文件
cp config/config.yaml config/config.local.yaml

# 编辑配置文件,修改数据库连接等信息
vim config/config.local.yaml
  1. 启动应用
# 使用启动脚本(推荐)
./start.sh -d

# 或者直接运行
go run .

# 或者使用Makefile
make dev

前端开发

  1. 进入前端目录
cd client
  1. 安装依赖
flutter pub get
  1. 运行应用
flutter run
  1. 使用安卓模拟器启动预览
检查设备
$ 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

主要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 - 版本信息

🔧 配置说明

环境变量

# 服务器配置
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,支持多环境配置。

🧪 测试

运行测试

# 后端测试
cd serve
make test

# 前端测试
cd client
flutter test

性能测试

cd serve
make bench

📦 部署

详细的部署指南请查看:DEPLOYMENT.md

生产环境部署

  1. 构建Docker镜像
make docker-build
  1. 部署到生产环境
docker-compose -f docker-compose.prod.yml up -d
  1. 配置反向代理
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;
    }
}

🔍 监控和维护

日志查看

# 查看应用日志
tail -f serve/logs/app.log

# Docker环境日志
docker-compose logs -f ai-english-backend

健康检查

# 检查服务状态
curl http://localhost:8080/health

# 检查版本信息
curl http://localhost:8080/version

数据库备份

# 备份数据库
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代码:遵循 gofmtgolint 规范
  • Flutter代码:遵循 Dart 官方代码规范
  • 提交信息:使用语义化提交信息

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

📞 联系我们

🙏 致谢

感谢所有为这个项目做出贡献的开发者和用户。


注意:这是一个学习项目,仅供教育和研究目的使用。

核心特色

🤖 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/CodemagicCI/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. 克隆项目
git clone https://github.com/your-org/ai_english_learning.git
cd ai_english_learning
  1. 后端环境设置
cd backend
# 初始化Go模块
go mod init ai_english_learning
go mod tidy
  1. 数据库设置
# 启动MySQL数据库
docker-compose up -d mysql

# 运行数据库迁移
go run cmd/migrate/main.go
  1. 前端环境设置
cd frontend
flutter pub get
flutter run
  1. 启动开发服务器
# 后端API服务
cd backend
go run main.go

# AI服务
celery -A ai_services worker --loglevel=info

开发指南

代码规范

  • 遵循Go官方代码规范gofmt, golint
  • 使用Flutter官方代码规范
  • 提交前运行代码格式化和静态检查

测试

# 后端测试
go test ./...

# 前端测试
flutter test

部署

# 使用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 文件了解详情。

联系我们

更新日志

v1.0.0 (2024-01-01)

  • 🎉 项目初始版本发布
  • 完整的词汇学习模块
  • 基础的听说读写功能
  • AI智能助手集成
  • 用户数据统计分析

即将发布

  • 🔄 更多AI功能集成
  • 📱 移动端应用优化
  • 🌐 多语言界面支持
  • 🎮 游戏化学习元素
  • 👥 社交学习功能

让AI助力您的英语学习之旅 🚀

通过科学的学习方法和先进的AI技术我们相信每个人都能够高效地掌握英语实现自己的学习目标。立即开始您的智能英语学习体验吧

Description
No description provided
Readme 3.3 MiB
Languages
Dart 79.5%
Go 16.3%
Python 2.2%
C++ 0.8%
CMake 0.6%
Other 0.4%