Files
KSP_project/job.md
T
2026-05-08 15:16:04 +08:00

82 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
我们需要搭建一个基于python+flask架构的后端服务器+一个前端界面,来实现一些数据的管理工作。
我会给你一些信息,然后我们开始讨论这个项目要落地需要怎么做。你把关键信息整理下来,如果有问题可以和我沟通。
沟通到你认为没有问题了,我们就开始动手搭建这个项目。
后端服务器连接的是pg库,连接信息已经保存在.env文件里面了。你不可以查看.env文件,因为里面有敏感信息。但是有一个.env.example文件,你可以查看这个文件,来了解一下连接信息的格式。
这是一个个人项目,前后端都应当部署在我的NAS上,以docker的形式运行。
你可以先查看KSP Engine Tweak Chart.xlsx,这个里面记载了我需要管理的数据
我先给你解释一下里面的表结构:
- Engine Database表:这个表记录了所有的火箭发动机的数据。某种程度上来说算是这个项目的核心表。
- Communication表:记录了所有的天线数据
- Work Area表:记录了一些WIP的引擎信息,你可以忽略
- Fuel Chart: 记录了不同燃料的一个快速换算信息。你可以查看一下这个表,尤其是里面公式的部分,这个可以作为一个快速换算工具来实现(后续不依赖这个表)。这部分你可以先看,肯定会有一些问题,我们讨论实现。
- Tank Chart:记录了一些燃料箱的数据
- KSP Vehicle Cost:记录了一些发射载具的成本数据
- Tube、TQ series:予以忽略
后续我们会根据这个表来设计数据库的表结构,来实现数据的管理功能。
引擎表是核心,你需要搞清楚里面每个字段的含义,来设计数据库表结构和前端界面。你看一下这个表,有什么不理解的地方可以问我。
你先把表都弄清楚,然后我们再讨论一下这个项目的功能需求,来设计数据库表结构和前端界面,接下来把表上传到数据库,随后我们就可以开始实现数据的管理功能了。
第一轮问题:
## 6. 第一轮需要你确认的问题
下面这些问题会直接影响数据库设计和前端表单设计:
### 关于 `Engine Database`
1. `Work Env` 的枚举含义是什么?
- 目前看到像 `Lower``Upper` 等,是否表示适用飞行环境/任务场景?
- Answer:是的,这是一个引擎的分类表示,表示这些引擎是上面级引擎还是起飞级引擎
2. `Classification` 是什么语义?
- 是模组来源(如 `Squad``NFS``Ven``Real/...`)还是引擎分类标签?
- Answer:是Mod来源
3. `Name` 是不是游戏/模组里的**内部 part name**
- Answer:是的。为空的原因是有一些我没有记录上去。这些可以先置空,后续我慢慢补
4. `Config Name` 是不是某个引擎的配置名/variant 名?
- 如果是,它显然不是全局唯一键;后续唯一标识你倾向于用什么?
- `Engine + Fuel Type + Config Name`?还是另有内部 ID
- Answer:应当使用Engine + Config Name作为唯一ID。如果你发现有重复的,反馈给我,我来确认是什么情况
5. `Price KD` 是不是 Kerbal Dollars 的部件价格?
- Answer:是的
6. `entry Cost` 是不是科技树解锁成本 / 研发成本?
- Answer:是研发成本
7. `TVC` 的单位是否是“度”(gimbal range)?
Answer:是的
8. `Size` 的单位是否是米(或零件直径规格)?
Answer:是米
9. `Ignitions` 为空时表示:
- Answer:无限次点火
10. `Note``Config Note` 的区别是什么?
- Answer:一个是引擎总体备注,一个是某个配置备注
### 关于 `Fuel Chart`
11. 这个换算功能你希望最终怎么实现?
- 单独页面小工具
12. 第二行这些值,本质上是不是“燃料密度 / 升到吨的换算系数”?
- 是的
### 关于 `KSP Vehicle Cost`
13. `Launch Price` 为空的行,是不是表示“暂无数据,允许为空”?
- 是的
## 7. 下一步建议
等你回答上面的问题后,我建议立即进入下面阶段:
1. 先把 `Engine Database` 字段定义彻底确认
2. 画出数据库草图(PostgreSQL
3. 确定 Flask 后端模块划分
4. 确定前端页面:列表 / 搜索 / 详情 / 编辑 / 导入
5. 再开始初始化项目结构、Docker、数据库迁移、Excel 导入脚本