已开始建设一个航空业职业模拟的 solo项目,耗时约 6 个月,以学习FastAPI 和 React。想和大家分享一些比预期复杂得多的技术决策— 对于类似的问题如何处理。

税务系统 玩家选择一个家园基地城市并按地理位置相应地征税。 美元执照的飞行员有联邦和州级税阶。国际飞行员有国家特定系统。最终我有66个级别配置,存储为JSON种子数据。难点就lie在航班中间的边际税率计算— 一个在月份中途推高税级的航班就需要正确扣税,只有这一部分。所有财务计算存在于后端,前端只接收前处理好的数值。

FAA Part 117 疲劳 这是一个滚动七天的窗口,而不是一个月曬 week。早期的实现使用了行限制查询,但是导致了两个星期里的下数错误。使用了纯粹的时间基于查询来解决问题。 9h/24h 和 30h 滚动七天的限制在服务器端实施 — 接受按钮在API水平上处于禁用状态,而不是只看起来处于禁用状态。

机组员积极程度系统 私人航空业机组员的积极程度每天都会逐渐下降而没有加薪和无预期维护和下班事件之后。积极程度很高会降低下飞员风险。 对于超过一定门槛的退休风险请求触发一次财政年度加薪。 在设计脱离感觉很苛刻的流动问题上,花了最大的努力— 最后的方案是使用sigmoid曲线的辞职概率来感觉会比较逐渐但是突然。

SQLite 并发 在本地硬件以及Cloudflare Tunnel 运行。 SQLite 在beta测试时处理得很好,但是用50多个同时用户会出错。前期发布之前会进行PostgreSQL迁移。