CloudBeaver 是一个基于 Web 的云数据库管理工具,支持 PostgreSQL、MySQL、MariaDB、SQLite 和 Firebird 等数据库。 |
server
osgi 模式,依赖dbeaver
依赖的库
- 依赖的库
Equinox osgi 容器
Eclipse Platform,虚拟文件系统&&插件系统
Jetty web server
Java Graphql 前端通信api
DBeaver 系统管理平台
一些三方数据库驱动 - 当前支持的数据库
pg
mysql
mariadb
sqlite
firebird
server api
api 地址格式:http://localhost:${ServerPort}/${ContentRoot}/gql/console
CloudBeaver 的为: http://ip:port/dbeaver/gql/console
frontend 技术
技术栈
react 作为单页面技术,InversifyJS作为ioc处理,MobX 管理状态,graphql 进行api 通信
项目使用lerna单体仓库模式管理,集成reshadow 进行web 组件化开发,以及css 模块化
样式效果,ag-grid 进行表格数据展示,Codemirror 做为sql 编辑器
构建&&运行
本地构建,运行命令
cd webapp/packages/dbeaver yarn run dev --server=localhost:8978
plugins
* core * app - Base application folder * assets - Styles and translation * blocks - Low-level common visual components * di - Dependency injection related classes * dialogs - Main and context menues, modal windows * eventsLog - Logging * sdk - GraphQL related services * theming - Themisation related services and hooks * ag-grid-plugin - wrapper over Ag-Grid * basic-connectio-plugin - provides handling of preconfigured connections * custom-connection-plugin - provides handling of custom connections * data-viewer-plugin - provides Data Table View * object-viewer-plugin - provides Object Property View * sql-editor - provides SQL-editor tab * dbeaver - configure and build all plugins to the final application
说明
通过官方的介绍我们可以整体的了解开发模式,方便学习
参考资料
- https://github.com/dbeaver/cloudbeaver/wiki/Frontend-description
https://github.com/dbeaver/cloudbeaver/wiki/Server-Architecture
https://github.com/dbeaver/cloudbeaver/wiki/Server-API-explorer
https://github.com/inversify/InversifyJS
https://reshadow.dev/
https://mobx.js.org/README.html
https://github.com/lerna/lerna
https://www.ag-grid.com/
https://codemirror.net/2/
https://github.com/lttb/reshadow
干货:《Linux就该这么学》