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 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
@@ -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
* Frontend - React, styled-components, socket.io
* 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
## How to run development environment
In one terminal, run API:
```sh
cd api
yarn
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
cd web
yarn
yarn start
yarn lib
```
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,
"name": "@dbgate/all",
"workspaces": [
"packages/*"
"packages/api",
"packages/datalib",
"packages/engines",
"packages/filterparser",
"packages/sqltree",
"packages/types",
"packages/web"
],
"scripts": {
"start:api": "yarn workspace @dbgate/api start",
"start:web": "yarn workspace @dbgate/web start",
"start:sqltree": "yarn workspace @dbgate/sqltree start",
"start:datalib": "yarn workspace @dbgate/datalib 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\"",
"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,
"skipLibCheck": true,
"outDir": "lib",
"preserveWatchOutput": true
"preserveWatchOutput": true,
"esModuleInterop": true
},
"include": [
"src/**/*"

631
yarn.lock

File diff suppressed because it is too large Load Diff