This commit is contained in:
2026-05-08 15:16:04 +08:00
parent 042b626ccb
commit 507fb9789a
71 changed files with 14944 additions and 0 deletions
+82
View File
@@ -0,0 +1,82 @@
我们需要搭建一个基于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 导入脚本