钓鱼天气应用 - BROKE框架提示词
B - Background(背景)
项目背景
- 产品名称: 钓鱼天气应用 (Fishing Weather App)
- 产品定位: 面向钓鱼爱好者的综合性移动应用
- 核心价值: 通过精准天气信息和钓鱼适宜度评估,帮助用户选择最佳钓鱼时机
目标用户
- 钓鱼爱好者(休闲和专业)
- 户外运动爱好者
- 对天气信息有特定需求的用户
技术栈
- 前端: Flutter + Provider状态管理 + flutter_map地图组件
- 后端: FastAPI + MySQL + JWT认证
- API: RESTful设计,天气数据来源wttr.in
- 存储: shared_preferences本地存储 + 本地文件系统
技术约束
- 支持Android 5.0+和iOS 11.0+
- 适配不同屏幕尺寸和分辨率
- 支持横屏和竖屏模式
- 支持离线缓存机制
R - Role(角色)
你是一位拥有10年移动应用开发经验的全栈高级工程师,具备以下专业能力:
技术专长
- Flutter跨平台开发: 精通Flutter框架,熟悉Provider状态管理、flutter_map地图集成
- 后端开发: 精通FastAPI框架,熟悉RESTful API设计和JWT认证机制
- 数据库设计: 精通MySQL数据库设计和优化
- 天气API集成: 熟悉wttr.in等天气API的对接和数据处理
领域知识
- 了解钓鱼活动与天气条件的关联性
- 熟悉气象数据(气压、风速、温度、湿度等)对钓鱼的影响
- 了解移动应用的用户体验设计原则
工作风格
- 代码规范、注释清晰
- 遵循SOLID设计原则
- 注重代码可维护性和可扩展性
O - Objectives(目标)
核心目标
开发一款功能完整的钓鱼天气移动应用,实现以下核心功能模块:
功能模块
1. 天气与钓鱼适宜度模块
- 自动获取当前位置(IP定位/GPS定位)
- 城市搜索功能
- 实时天气数据展示
- 钓鱼适宜度评估算法(基于8项气象因素)
- 未来3-7天天气预报
- 详细钓鱼建议
2. 用户认证模块
- 邮箱注册/登录
- JWT认证机制
- 个人资料管理
- 密码管理(修改/找回)
3. 钓点分享模块
- 创建钓点(位置、名称、描述、标签)
- 查询钓点(按距离、名称)
- 管理钓点(删除自己的钓点)
- 地图展示钓点
4. 鱼获分享模块
- 上传鱼获(图片、描述、位置、标签)
- 社区feed展示
- 点赞/评论功能
5. 地图功能模块
- 地图显示钓点分布
- 地图交互(缩放、平移、点击)
- 地图上直接添加新钓点
6. 设置与偏好模块
- 多语言支持(中文/英文)
- 离线缓存
- 主屏幕小部件
K - Key Results(关键结果)
钓鱼适宜度评估系统
基于8项气象因素的评分系统:
| 因素 | 最佳条件 | 得分规则 |
|---|---|---|
| 气压 | 1005-1015 hPa | 最佳+2分,>1015 hPa +1分,<1005 hPa -1分 |
| 天气状况 | 晴好天气 | 晴好+2分,小雨0分,雾-1分,大雨-2分 |
| 降水概率 | <30% | <30% +2分,30-60% 0分,>60% -1分 |
| 云量 | 20-60% | 最佳+2分,<20%或60-80% 0分,>80% -1分 |
| 风速 | 2-10 km/h | 最佳+2分,<2或10-15 0分,>15 -2分 |
| 温度 | 15-30°C | 最佳+2分,<15°C或30-35°C 0分,极端-2分 |
| 湿度 | 40-80% | 最佳+2分,<40%或80-90% 0分,>90% -1分 |
| 能见度 | >5km | >5km +2分,2-5km 0分,<2km -2分 |
适宜度等级
- 极佳(Excellent): ≥12分,绿色标识
- 良好(Good): 8-11分,蓝色标识
- 一般(Moderate): 4-7分,橙色标识
- 较差(Poor): <4分,红色标识
性能指标
- 应用启动时间: <3秒
- 天气数据加载时间: <2秒
- 地图加载时间: <3秒
- 图片上传时间: <5秒
数据模型
用户模型: id, email, password_hash, nickname, avatar, created_at
天气模型: location, temperature, humidity, pressure, wind_speed, weather_condition, fishing_score
钓点模型: id, user_id, name, description, latitude, longitude, tags, created_at
鱼获模型: id, user_id, image_url, description, location, tags, likes_count, created_at
交互模型: id, user_id, catch_id, type(like/comment), content, created_at
E - Evolve(演进/迭代)
第一阶段:基础天气功能 (MVP)
- 实现天气数据获取和显示
- 实现钓鱼适宜度评估系统
- 实现多语言支持
- 实现缓存机制
第二阶段:用户系统和社交功能
- 实现用户注册和登录
- 实现钓点分享功能
- 实现鱼获分享功能
- 实现社区互动功能
第三阶段:地图和高级功能
- 实现地图显示和交互
- 实现主屏幕小部件
- 实现社交分享功能
- 优化网络连接和错误处理
第四阶段:测试和优化
- 编写完整测试用例(单元测试、集成测试、边界测试)
- 执行测试并生成测试报告
- 进行功能测试和性能测试
- 优化用户界面和体验
- 修复已知问题
- 准备应用发布
迭代优化方向
- 性能优化: 根据用户反馈优化加载速度
- 算法优化: 根据实际钓鱼数据优化适宜度算法
- 功能扩展: 根据用户需求添加新功能(如钓鱼日历、潮汐信息等)
- UI优化: 根据用户反馈优化界面设计
测试要求
测试用例文档
必须输出完整的测试用例文档,包含:
测试用例结构:
├── test/
│ ├── unit/ # 单元测试
│ │ ├── fishing_calculator_test.dart
│ │ ├── weather_service_test.dart
│ │ └── auth_service_test.dart
│ ├── integration/ # 集成测试
│ │ ├── api_integration_test.dart
│ │ └── database_test.py
│ └── backend/ # 后端测试
│ ├── test_auth.py
│ ├── test_weather.py
│ ├── test_spots.py
│ └── test_catches.py
必须覆盖的测试场景:
- 钓鱼适宜度计算:各种气象条件组合
- 用户认证:注册、登录、Token验证、过期处理
- 钓点操作:创建、查询、删除、权限验证
- 鱼获互动:上传、点赞、评论、取消
- 边界情况:空数据、无效输入、网络异常
测试报告
完成所有开发后,必须输出以下格式的测试报告:
================== 测试报告 ==================
📅 测试时间: [YYYY-MM-DD HH:MM:SS]
📦 项目名称: 钓鱼天气应用
🔧 测试环境: [环境信息]
────────────────────────────────────────────
📊 测试概览
────────────────────────────────────────────
| 指标 | 数值 |
|-------------|--------|
| 总用例数 | XX |
| 通过 | XX ✅ |
| 失败 | XX ❌ |
| 跳过 | XX ⏭️ |
| 通过率 | XX% |
| 覆盖率 | XX% |
────────────────────────────────────────────
📋 模块测试详情
────────────────────────────────────────────
1. 天气模块 [X/Y 通过]
✅ test_weather_api_call
✅ test_fishing_score_calculation
✅ test_weather_cache
...
2. 用户认证模块 [X/Y 通过]
✅ test_user_register
✅ test_user_login
✅ test_jwt_validation
...
3. 钓点模块 [X/Y 通过]
✅ test_create_spot
✅ test_query_spots
...
4. 鱼获模块 [X/Y 通过]
✅ test_upload_catch
✅ test_like_catch
...
5. 边界情况测试 [X/Y 通过]
✅ test_invalid_input
✅ test_network_error
...
────────────────────────────────────────────
❌ 失败用例详情(如有)
────────────────────────────────────────────
[列出失败的测试用例及错误信息]
────────────────────────────────────────────
📝 测试结论
────────────────────────────────────────────
[总体评估和建议]
==============================================
测试验收标准
- 测试用例覆盖率 ≥ 80%
- 所有测试用例通过
- 测试报告已输出
使用说明
将此提示词发送给AI,可以获得:
- 完整的项目架构设计
- 各模块的详细实现代码
- 数据库设计方案
- API接口设计文档
- 完整的测试用例文档
- 测试执行报告