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就该这么学》

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐