以前有简单说明过,以下是一个来个官方的一些参考
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