V2EX 11月07日 20:15
FastAPI Voyager:可视化业务数据依赖关系
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

FastAPI Voyager 是一个用于可视化 FastAPI 应用中业务数据类之间继承和扩展关系的可视化平台。它通过分析 `app.routes` 来展示路由(route)与响应模型(response model)以及其他数据之间的关联,并借助 Graphviz 进行可视化。该工具能够清晰地展现一个路由依赖多少基础业务数据,或某个基础业务数据影响了多少业务接口,极大地简化了在 IDE 中进行多次代码跳转和手动记录依赖链条的繁琐过程。用户还可以通过搜索功能快速了解某个项目被多少接口使用。该工具的有效性依赖于良好的业务模型定义和遵循实体关系模型的数据组合过程。目前项目仍在积极更新中,并欢迎用户提供想法和建议。

📦 **可视化业务数据依赖**: FastAPI Voyager 能够清晰地展示 FastAPI 应用中路由、响应模型及其他数据之间的依赖和组合逻辑,有效解决了业务层中信息不清晰的痛点,让你能直观地理解数据之间的关联。

🔗 **交互式关系探索**: 提供交互式高亮功能,方便用户追踪和理解复杂的依赖关系链条。双击节点即可直接跳转到源代码,极大地提高了开发效率,减少了在 IDE 中手动查找的时间。

🔍 **高效的接口与数据影响分析**: 能够轻松了解一个路由依赖多少基础业务数据,或者某个基础业务数据影响了多少业务接口。通过搜索功能,可以快速定位特定项目被哪些下游接口所依赖,提供了全局的视角。

💡 **促进良好模型设计的实践**: 该工具的使用前提是拥有良好的业务模型定义,并遵循实体关系模型进行数据组合。这鼓励开发者在实际工作中更加注重模型的规范性和清晰性,从而提升整体项目质量。

解决痛点:理清业务数据之间的依赖和组合逻辑, 解决 bff/业务层中依赖信息不清晰的情况

功能:可视化业务数据类之间的继承和扩展关系, 可交互高亮关系链条, 双击可以显示源代码, 等等

repo: https://github.com/allmonday/fastapi-voyager

live demo: https://www.newsyeah.fun/voyager/

这是我写业务过程中为了方便自己搞清楚数据关系写的一个可视化平台,通过分析 fastapi app.routes 的内容, 将 route -> response model -> other data 之间的关联借助 graphviz 可视化了出来

这样就能比较轻易的了解一个 route 依赖了多少基础业务数据, 或者某个基础业务数据影响了多少业务接口, 这些信息在使用 ide 的时候需要多次代码跳转,还需要在脑海中,或者纸上记录它们的依赖链条, 非常麻烦。

比如一个 project 被多少接口使用到了, 就能在这个工具中通过 search project 来展现所有的下游依赖树。

个人用者觉得非常方便, 所以分享出来。

这个工具的使用前提是有良好的业务模型定义, 并且组合数据的过程也需要遵循业务的 entity relationship model 。 否则效果会比较打折扣。

live demo 里面使用 jira sprint 的业务模型为例子,展示了数据组合的各种情况。

项目还在积极更新中, 如何大家有任何想法和建议欢迎提 issue 。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

FastAPI Voyager 可视化 依赖关系 业务数据 API Graphviz 开发工具 数据模型 Visualization Dependency Business Data Data Modeling
相关文章