1-PRD · 中国机车图鉴平台 产品需求文档
版本:v1.0
来源:基于 方案.md 全文细化
状态:草稿(待评审)
一句话定位:机车界的「维基百科 + 观鸟记录 App + 兴趣社区」
0. 文档说明
本 PRD 将 方案.md 的产品构想细化为可评审、可拆解的需求集合,覆盖目标、用户、范围、功能需求、数据需求、非功能需求、指标与里程碑。技术实现细节(架构选型、表结构)留待后续设计文档(2-design)展开,本文只在"约束"层面引用。
1. 产品目标与背景
1.1 背景
铁路爱好者群体对机车型号、参数、历史与现役状态有强烈的查询、收集、考证与交流需求,但现有资料分散在 Excel、贴吧、论坛、个人博客中,缺乏一个结构化、可信、可持续生长的统一平台。本项目以现有《中国铁路车型统计表》12 张分类表为种子数据,构建该平台。
1.2 产品目标
| 维度 |
目标 |
| 知识库 |
提供权威、结构化、可追溯的机车车型数据库 |
| 趣味体验 |
通过时间轴、图鉴卡牌、地图、族谱等多视图让浏览"既有趣又科学" |
| 众包共建 |
让爱好者低门槛参与维护,并获得荣誉感与归属感 |
| 社区沉淀 |
提供交流空间,且交流历史永久可查 |
1.3 设计原则
- 科学严谨:数据可溯源、可审核、可回滚。
- 趣味探索:多视图、收集机制、可视化。
- 社区共建:低门槛编辑 + 荣誉激励 + 信任分级。
- 深度优先于广度:先做透中国车型,国外车型按相关性分圈层扩展。
2. 目标用户与画像
| 角色 |
描述 |
核心诉求 |
| 浏览型爱好者(游客/轻度) |
偶尔查车型、看历史 |
快速查询、有趣的浏览 |
| 拍车/打卡党 |
线下追车、拍照记录 |
记录目击、收集车号、拍车攻略 |
| 硬核考据党 |
关注参数、历史、谱系 |
准确参数、对比、技术族谱、可溯源 |
| 贡献者/编辑 |
补全和维护数据 |
便捷编辑、荣誉署名、贡献统计 |
| 版主/维护者 |
审核与质量把控 |
审核队列、修订对比、回滚 |
| 管理员 |
平台运营 |
权限、内容治理、数据治理 |
3. 范围定义
3.1 数据范围(圈层策略)
| 圈层 |
范围 |
阶段 |
| 🟢 圈层一 |
中国铁路车型(现有 12 表) |
MVP |
| 🟡 圈层二 |
在华运用的外国车型 + 中国车型的国外原型 |
中期 |
| 🔵 圈层三 |
出口机车、同平台海外型号 |
长期 |
| ⚪ 圈层四 |
纯国外全球图鉴 |
视社区意愿 |
3.2 阶段范围(对应方案路线图)
- Phase 1(MVP):数据底座 + 列表/详情/搜索 + 时间轴 + 图鉴卡牌。
- Phase 2:账户体系 + Wiki 编辑/审核/修订历史 + 荣誉体系。
- Phase 3:社区(论坛/讨论/动态流)+ 地图视图。
- Phase 4:族谱图 + 参数对比 + 保存机车地图 + 稀有车提醒 + 圈层二数据。
- Phase 5:AI 识车 + 数据大屏 + 开放 API + AR/3D。
3.3 不在本期范围(MVP 明确排除)
- 用户登录与众包编辑(Phase 2)
- 社区论坛与打卡(Phase 3)
- AI 识车、AR/3D、开放 API(Phase 5)
4. 数据需求
4.1 数据模型(三层 + 关系)
4.2 Model 字段字典(统一字段表)
| 分组 |
字段 |
说明/约束 |
| 标识 |
型号、别名、分类、系列 |
型号必填、唯一性校验 |
| 来源 |
生产商、制造国/地区、国别属性(国产/进口/引进仿制/合资) |
国别属性枚举 |
| 时间 |
首产年、停产年 |
年代逻辑校验(首产≤停产) |
| 状态 |
状态、用途、产量、缩略图 |
状态枚举 |
| 尺寸/重量 |
车长、车宽、车高、整备重量、轴重、轴距、轴列式 |
数值+单位分离 |
| 动力 |
牵引力(起动/持续)、最高时速、供电方式、传动方式、动力来源 |
数值+单位分离 |
| 关系 |
父型号、衍生型号、原型车/技术来源 |
指向其他 Model |
| 溯源 |
每字段可附来源引用(Phase 2) |
书籍/铭牌照片/官方资料 |
约束:所有数值字段以"数值 + 单位"独立存储,杜绝现表的单位混排问题。
4.3 Unit / Sighting 字段
- Unit:车号、所属车型、配属路局、涂装、当前状态(现役/封存/报废/博物馆保存)、首/末次目击。
- Sighting:用户、车辆、时间、地点(经纬度+车站)、照片、描述。
4.4 数据导入(ETL)
- 将现有 12 张 CSV/Excel 清洗后入库作为种子数据。
- 处理:合并单元格还原、空表头修复、单位拆分、字段映射到统一字典、系列→型号层级归并、改型关系识别。
- 产出:导入报告(成功/失败/需人工复核条目)。
5. 功能需求(按模块)
标注:【P1】MVP / 【P2】共建 / 【P3】社区 / 【P4】进阶 / 【P5】智能化
5.1 车型浏览与检索【P1】
- FR-1.1 车型列表:分页、按分类筛选、按字段排序。
- FR-1.2 多维筛选:分类、年代、时速区间、生产商、国别、状态。
- FR-1.3 全文搜索:型号/别名/生产商中文检索,支持模糊与拼音(增强项)。
- FR-1.4 车型详情页:参数表、历史沿革、图集、族谱位置、相关讨论入口。
- FR-1.5 数值字段统一展示单位,缺失字段优雅留白。
5.2 展示视图【P1/P3/P4】
- FR-2.1【P1】时间轴视图:年代横轴、分类泳道、节点点击展开详情卡。
- FR-2.2【P1】图鉴卡牌视图:卡片墙、分类筛选、"已收集/未收集"占位(收集逻辑 P3 接入)。
- FR-2.3【P4】参数对比:勾选 2–4 个车型,雷达图 + 对比表。
- FR-2.4【P4】技术族谱图:有向图展示演化关系,支持跨国连线。
- FR-2.5【P3】地图视图:配属地图 + 目击热力图,聚合点。
- FR-2.6 视图间可相互跳转(如从族谱节点跳详情)。
5.3 账户与权限【P2】
- FR-3.1 注册/登录(邮箱/第三方)。
- FR-3.2 角色:游客、注册用户、信任用户、版主、管理员(RBAC)。
- FR-3.3 个人主页:贡献统计、徽章、收集进度、目击记录。
5.4 众包编辑与审核【P2】
- FR-4.1 编辑建议:登录用户可修改字段、补资料、传图。
- FR-4.2 修订版本:每次修改生成 Revision,支持 diff 对比与回滚。
- FR-4.3 审核分级:新手编辑入审核队列;信任用户直接生效。
- FR-4.4 字段来源引用:可为字段附引用来源。
- FR-4.5 字段校验:数值范围、单位、年代逻辑。
- FR-4.6 争议字段:可发起讨论/投票。
5.5 荣誉与激励【P2】
- FR-5.1 贡献积分:新增/补全/采用照片/通过审核计分。
- FR-5.2 等级头衔:铁路主题等级(见习巡道员→…→总工程师)。
- FR-5.3 徽章成就:首图、集齐分类、连续打卡、被采纳 N 次等。
- FR-5.4 贡献榜:周/月/总榜;详情页显示"主要贡献者"署名。
- FR-5.5 认领词条:成为 maintainer 并署名。
5.6 社区交流【P3】
- FR-6.1 论坛板块:按分类/路局/主题分区。
- FR-6.2 帖子与回复:发帖、回复、@、点赞、收藏,永久持久化保存可查。
- FR-6.3 词条内嵌讨论区:讨论与数据绑定。
- FR-6.4 打卡动态流:目击照片 Feed + 评论互动。
- FR-6.5 内容沉淀:优质考证帖可精华化并引用进词条来源。
5.7 打卡与收集【P3/P4】
- FR-7.1 目击打卡:记录车号、时间、地点、照片。
- FR-7.2 图鉴收集:拍到即收集,图鉴显示进度。
- FR-7.3【P4】拍车攻略:基于目击热力图推荐拍摄点。
- FR-7.4【P4】保存机车地图:标注博物馆/公园保存实车。
- FR-7.5【P4】稀有车提醒:关注车型新目击推送。
5.8 智能化与开放【P5】
- FR-8.1 AI 识车(照片→车型)。
- FR-8.2 数据可视化大屏(保有量/时速变迁等)。
- FR-8.3 开放 API / 数据导出。
- FR-8.4 AR/3D 模型展示。
- FR-8.5 多语言(面向海外爱好者)。
6. 非功能需求
| 类别 |
需求 |
| 性能 |
列表/详情页 P95 < 1.5s;搜索响应 < 500ms |
| 可用性 |
响应式 Web 优先,移动端可用;SEO 友好(百科可被搜索引擎收录) |
| 可扩展 |
数据模型预留国别/原型字段,圈层扩展不需重构 |
| 数据质量 |
字段校验 + 来源引用 + 修订可回滚 |
| 安全 |
RBAC 权限;UGC 内容审核;防刷分 |
| 合规 |
图片版权声明、来源标注;目击地点敏感区域脱敏 |
| 可观测 |
关键操作日志、审核日志、贡献流水 |
| 国际化 |
字段单位/命名国际化(UIC vs 中国习惯轴列式) |
7. 成功指标(KPI)
| 阶段 |
指标 |
| MVP |
种子数据完整入库(12 表全覆盖);车型详情可访问;时间轴/图鉴可用 |
| 共建 |
月活跃编辑者数、月新增/修订条目数、审核通过率 |
| 社区 |
月活、发帖/回复数、打卡数、收集完成率 |
| 留存 |
次周留存、贡献者复访率 |
| 质量 |
字段完整度、被回滚修订占比(越低越好)、争议解决时长 |
8. 里程碑与交付物
| 里程碑 |
交付物 |
依赖 |
| M1(MVP) |
ETL 入库 + 列表/详情/搜索 + 时间轴 + 图鉴卡牌 |
种子数据清洗 |
| M2 |
账户 + Wiki 编辑/审核/修订 + 荣誉体系 |
M1 |
| M3 |
论坛/讨论/动态流 + 地图视图 |
M2 |
| M4 |
族谱图 + 对比 + 保存机车地图 + 提醒 + 圈层二数据 |
M2/M3 |
| M5 |
AI 识车 + 大屏 + 开放 API + AR/3D |
M4 |
9. 风险与对策
| 风险 |
对策 |
| 数据版权/来源争议 |
强制来源标注、图片授权声明 |
| 数据准确性 |
来源引用 + 审核 + 可回滚 + 争议投票 |
| 冷启动乏力 |
邀请核心爱好者共建种子内容与首批 maintainer |
| 审核成本高 |
信任分级,高信誉自动生效 |
| 范围蔓延 |
圈层收敛,深度优先于广度 |
| 隐私合规 |
目击地点敏感区域处理与合规审查 |
10. 待确认问题(Open Questions)
- 技术栈最终选型(Next.js + NestJS/FastAPI + PostgreSQL)是否锁定?
- 是否需要原生 App,还是 PWA 即可?
- 第三方登录渠道范围(微信/GitHub/邮箱)?
- 地图服务选型(高德 vs MapLibre)与国内合规?
- 图片对象存储与 CDN 选型?
- MVP 是否需要最简账户(仅收藏)还是完全匿名?
- 国外车型圈层二的启动时机与数据来源?
附录 A · 现有数据分类清单(种子)
建国前蒸汽机车 / 建国后蒸汽机车 / 北京表(蒸汽机车)/ 普速客车 / 电力机车 / 内燃机车 / CJ 型及早期动车组及和谐号 / 复兴号 / 货车 / 普速检测车 / 高速综合检测列车 / 旅游列车(共 12 类)。