fastapi-voyager: 一个基于 fastapi 的业务关系可视化平台 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
tangkikodo
V2EX    分享创造

fastapi-voyager: 一个基于 fastapi 的业务关系可视化平台

  •  
  • /div>   tangkikodo 39 天前 1701 次点击
    这是一个创建于 39 天前的主题,其中的信息可能已经有所发展或是发生改变。

    解决痛点:理清业务数据之间的依赖和组合逻辑, 解决 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 。

    7 条回复    2025-11-10 17:44:19 +08:00
    chennqqi
        1
    chennqqi  
       39 天前
    强大
    xhawk
        2
    xhawk  
       38 天前 via Android
    的确需要,很强大
    xhawk
        3
    xhawk  
       37 天前
    @xhawk 特来感谢一下, 已经移植到这边的一个项目中, 很有用.
    tangkikodo
        4
    tangkikodo  
    OP
       37 天前
    @xhawk 不客气~~
    tangkikodo
        5
    tangkikodo  
    OP
       37 天前
    @xhawk 有兴趣的话可以也试试 pydantic-resolve, voyager 其实是为它量身定做的~
    xhawk
        6
    xhawk  
       36 天前
    @tangkikodo 我主要用于一套 erp 环境里头去, 这个 pydantic-resolve 主要分析 实体间 的, 但是我最主要想分析 service 之间的调用关系. 而且我的方法略微不同, 后端用 python, 前端展示我用的 react-flow. 不过思路的确挺好的, 而且应该可以延展出来挺多有趣的场景. 甚至是后端自动 coding 的逻辑.
    tangkikodo
        7
    tangkikodo  
    OP
       36 天前
    @xhawk 嗯,明白了。 我之前也想做 service 调用的分析, 但是复杂度太高了, 后来用 pydantic-resolve 实现了某种平替, 一个 service 返回的类型, 来间接代表这个 service 。 因为后端很多场景本质都是数据的组合, 如果数据类型是清晰的, 那么通过什么具体获取方式反而不是这么重要了。

    比如 Project 类型 通过 load_project 来获取, 那么我只要知晓组合的是 Project 或者 subset of Project , 那我其实也间接知道了调用链条。

    仅供参考~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4472 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 01:06 PVG 09:06 LAX 17:06 JFK 20:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86