Open dawnzzz opened 1 year ago
计划实现一个 IDL 管理平台,对 protobuf 文件实现类似于Git的IDL文件版本管理机制,参考buf的相关功能,实现IDL文件的远程依赖管理和插件管理。
实现一个IDL管理平台,前端采用 buf cli 实现,后端独立开发。支持对IDL文件进行版本管理、对IDL文件的远程依赖管理、IDL文件代码生成的插件管理。
前端借助于 buf cli 实现,IDL 管理整个后端包括6个部分组成,分别是API接口、认证模块、版本依赖管理模块、插件管理模块、持久化管理模块以及数据库。
API接口为用户提供可用的API用于操作IDL管理平台,它解析收到的HTTP请求,验证绑定请求参数,将用户请求路由到具体的执行函数中。认证模块的功能为用户认证和授权,它验证用户信息是否正确、授权用户token用于管理IDL、验证token信息是否正确。在版本依赖管理模块中,这个模块的主要职责就是管理IDL版本,管理IDL文件远程依赖。插件管理模块主要用于插件管理和在代码生成阶段远程插件执行。持久化管理模块为上层模块提供统一的数据库访问接口,上层模块与数据库的交互通过此模块完成。数据库主要用于持久化保存IDL文件的版本信息以及插件信息。
第一阶段(07月01日 - 08月10日)
第二阶段(08月10日 - 09月30日)
计划实现一个 IDL 管理平台,对 protobuf 文件实现类似于Git的IDL文件版本管理机制,参考buf的相关功能,实现IDL文件的远程依赖管理和插件管理。
期望产出
实现一个IDL管理平台,前端采用 buf cli 实现,后端独立开发。支持对IDL文件进行版本管理、对IDL文件的远程依赖管理、IDL文件代码生成的插件管理。
管理平台后端架构
前端借助于 buf cli 实现,IDL 管理整个后端包括6个部分组成,分别是API接口、认证模块、版本依赖管理模块、插件管理模块、持久化管理模块以及数据库。
API接口为用户提供可用的API用于操作IDL管理平台,它解析收到的HTTP请求,验证绑定请求参数,将用户请求路由到具体的执行函数中。认证模块的功能为用户认证和授权,它验证用户信息是否正确、授权用户token用于管理IDL、验证token信息是否正确。在版本依赖管理模块中,这个模块的主要职责就是管理IDL版本,管理IDL文件远程依赖。插件管理模块主要用于插件管理和在代码生成阶段远程插件执行。持久化管理模块为上层模块提供统一的数据库访问接口,上层模块与数据库的交互通过此模块完成。数据库主要用于持久化保存IDL文件的版本信息以及插件信息。
近期时间规划
总体时间规划
第一阶段(07月01日 - 08月10日)
第二阶段(08月10日 - 09月30日)