一个专为编程初学者设计的跨平台英语学习应用,帮助用户掌握编程常用英语术语,提升阅读英文编程文档的能力。
B站视频介绍:https://www.bilibili.com/video/BV1RjUDBWENa/?vd_source=5c35e5f2b07da07b061c1b2b7c0d312b
随着全球数字化转型的加速,编程已成为一项基础技能。然而,对于非英语母语的编程初学者来说,语言障碍是学习编程的主要挑战之一。本应用专门解决这一痛点,通过科学的记忆方法和丰富的编程场景,让用户轻松掌握编程英语。
- 掌握编程常用英语术语
- 理解编程概念的英文表达
- 通过代码示例加深词汇记忆
- 提升阅读英文编程文档的能力
- 主要用户:编程初学者(18-35岁)
- 次要用户:有一定编程基础但英语水平有限的开发者
- 潜在用户:计算机专业学生、编程培训机构学员
- 框架:FastAPI (Python)
- 数据库:PostgreSQL + Redis
- 认证:JWT Token
- 测试:Pytest + Pytest-asyncio
- 部署:Docker
- 框架:Flutter
- 状态管理:Provider
- 网络请求:Dio
- 本地存储:SharedPreferences
- 语音合成:Flutter TTS
programming_english_app/
├── docs/ # 项目文档
│ └── 需求分析文档.md # 详细需求分析
├── programming_english_fastapi/ # 后端服务
│ ├── app/ # 应用主目录
│ │ ├── api/ # API路由
│ │ ├── core/ # 核心配置
│ │ ├── db/ # 数据库相关
│ │ ├── models/ # 数据模型
│ │ ├── services/ # 业务逻辑
│ │ └── utils/ # 工具函数
│ ├── tests/ # 测试文件
│ └── requirements.txt # Python依赖
├── programming_english_flutter/ # Flutter前端
│ ├── lib/ # Dart源码
│ │ ├── core/ # 核心功能
│ │ ├── features/ # 功能模块
│ │ └── main.dart # 应用入口
│ ├── test/ # 测试文件
│ └── pubspec.yaml # Dart依赖
└── README.md # 项目说明
-
单词学习模块
- 编程术语词汇库
- 单词详细信息(英文、翻译、代码示例)
- 按编程语言和概念分类
- 个人收藏夹
-
多样化学习模式
- 闪卡记忆模式
- 互动测验模式
- 代码阅读模式
- 语音学习模式
-
智能进度管理
- 学习进度跟踪
- 掌握程度评估
- 个性化复习计划
- 成就系统
-
用户系统
- 用户注册/登录
- 个人资料管理
- 学习偏好设置
- 多设备数据同步
-
离线支持
- 本地缓存功能
- 离线学习模式
- 数据同步机制
- Python: 3.8+
- Flutter: 3.2.3+
- PostgreSQL: 12+
- Redis: 6+
-
克隆项目
git clone <repository-url> cd programming_english_app/programming_english_fastapi
-
安装依赖
pip install -r requirements.txt
-
配置环境变量
cp .env.example .env # 编辑 .env 文件设置数据库连接等配置 -
初始化数据库
python init_db.py
-
启动服务
# 开发环境 uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 # 或使用启动脚本 python startup.py
-
访问API文档
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
-
进入前端目录
cd programming_english_flutter -
安装依赖
flutter pub get
-
运行应用
# 开发环境 flutter run # 构建发布版本 flutter build apk --release flutter build web --release
# 运行所有测试
pytest
# 运行单元测试
pytest tests/unit/
# 运行集成测试
pytest tests/integration/
# 查看测试覆盖率
pytest --cov=app# 运行Flutter测试
flutter test
# 查看测试覆盖率
flutter test --coverage✅ 已完成功能
- 基础API框架搭建
- 用户认证系统
- 单词数据模型
- 基础Flutter界面
- 跨平台兼容性
🚧 开发中功能
- 单词学习模块
- 测验功能
- 进度跟踪系统
- 语音学习功能
📋 计划中功能
- 社交学习功能
- 智能推荐系统
- 高级数据分析
- 多语言支持
我们欢迎所有形式的贡献!请遵循以下步骤:
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
- Python代码遵循 PEP 8 规范
- Dart代码遵循 Dart Style Guide
- 提交信息遵循 Conventional Commits 规范
- 所有新功能需要包含相应的测试用例
- 完善单词学习功能
- 添加语音合成
- 优化用户界面
- 增加更多代码示例
- 社交学习功能
- AI智能推荐
- 多语言界面支持
- 高级数据分析
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- 项目维护者:[您的姓名]
- 邮箱:[your.email@example.com]
- 项目地址:[https://github.com/yourusername/programming_english_app]
感谢所有为这个项目做出贡献的开发者和用户。特别感谢:
- FastAPI 团队提供的优秀框架
- Flutter 团队的跨平台解决方案
- 开源社区的支持和贡献
⭐ 如果这个项目对您有帮助,请给我们一个Star!