packages, documentation

This commit is contained in:
Jan Prochazka
2020-03-13 22:42:09 +01:00
parent 74e7d7d4e8
commit 0c627ea92e
5 changed files with 1621 additions and 624 deletions

View File

@@ -3,7 +3,7 @@
# DbGate - database administration tool # DbGate - database administration tool
DbGate is complete rewrite of JenaSoft [DbGate](http://www.jenasoft.com/dbgate). It uses only JavaScript (original DbGate was written in C# and TypeScript). DbGate is complete rewrite of JenaSoft [DbGate](http://www.jenasoft.com/dbgate). It uses JavaScript and TypeScript (original DbGate was written in C# and TypeScript).
Part of this software is also port of [DbShell](https://github.com/dbshell/dbshell) from C# to JavaScript Part of this software is also port of [DbShell](https://github.com/dbshell/dbshell) from C# to JavaScript
@@ -12,23 +12,29 @@ Part of this software is also port of [DbShell](https://github.com/dbshell/dbshe
* Minimal dependencies - so that the software can be developed in future without problems with obsolete libraries * Minimal dependencies - so that the software can be developed in future without problems with obsolete libraries
* Frontend - React, styled-components, socket.io * Frontend - React, styled-components, socket.io
* Backend - NodeJs, ExpressJs, socket.io, database connection drivers * Backend - NodeJs, ExpressJs, socket.io, database connection drivers
* Pure JavaScript is used (TypeScript is used only as type checker, not as compiler, so it is not mandatory part of pipeline) * JavaScript + TypeScript
* Platform independed - will run as web application in single docker container on server, or as application using Electron platform on Linux, Windows and Mac * Platform independed - will run as web application in single docker container on server, or as application using Electron platform on Linux, Windows and Mac
## How to run development environment ## How to run development environment
In one terminal, run API:
```sh ```sh
cd api
yarn yarn
yarn start yarn start
``` ```
In second terminal, run frontend: If you want to make modifications in typescript packages, run TypeScript compiler in watch mode in seconds terminal:
```sh ```sh
cd web yarn lib
yarn
yarn start
``` ```
Open http://localhost:5000 in your browser Open http://localhost:5000 in your browser
## Packages
* api - backend, Javascript, ExpressJS
* datalib - TypeScript library for utility classes
* electron - application (JavaScript)
* engines - drivers for database engine (mssql, mysql, postgres), analysing database structure, creating specific queries (JavaScript)
* filterparser - TypeScript library for parsing data filter expressions using parsimmon
* sqltree - JSON representation of SQL query, functions converting to SQL (TypeScript)
* types - common TypeScript definitions
* web - frontend in React (JavaScript)

View File

@@ -2,14 +2,29 @@
"private": true, "private": true,
"name": "@dbgate/all", "name": "@dbgate/all",
"workspaces": [ "workspaces": [
"packages/*" "packages/api",
"packages/datalib",
"packages/engines",
"packages/filterparser",
"packages/sqltree",
"packages/types",
"packages/web"
], ],
"scripts": { "scripts": {
"start:api": "yarn workspace @dbgate/api start", "start:api": "yarn workspace @dbgate/api start",
"start:web": "yarn workspace @dbgate/web start", "start:web": "yarn workspace @dbgate/web start",
"start:sqltree": "yarn workspace @dbgate/sqltree start", "start:sqltree": "yarn workspace @dbgate/sqltree start",
"start:datalib": "yarn workspace @dbgate/datalib start", "start:datalib": "yarn workspace @dbgate/datalib start",
"start:filterparser": "yarn workspace @dbgate/filterparser start", "start:filterparser": "yarn workspace @dbgate/filterparser start",
"build:sqltree": "yarn workspace @dbgate/sqltree build",
"build:datalib": "yarn workspace @dbgate/datalib build",
"build:filterparser": "yarn workspace @dbgate/filterparser build",
"build:lib": "yarn build:sqltree && yarn build:datalib && yarn build:filterparser",
"prepare": "yarn build:lib",
"start": "concurrently --kill-others-on-fail \"yarn start:api\" \"yarn start:web\"", "start": "concurrently --kill-others-on-fail \"yarn start:api\" \"yarn start:web\"",
"lib": "concurrently --kill-others-on-fail \"yarn start:sqltree\" \"yarn start:datalib\" \"yarn start:filterparser\"", "lib": "concurrently --kill-others-on-fail \"yarn start:sqltree\" \"yarn start:datalib\" \"yarn start:filterparser\"",

1572
packages/electron/yarn.lock Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,8 @@
"declaration": true, "declaration": true,
"skipLibCheck": true, "skipLibCheck": true,
"outDir": "lib", "outDir": "lib",
"preserveWatchOutput": true "preserveWatchOutput": true,
"esModuleInterop": true
}, },
"include": [ "include": [
"src/**/*" "src/**/*"

631
yarn.lock

File diff suppressed because it is too large Load Diff