diff --git a/README.md b/README.md index 3d774c6d1..d12c2be9e 100644 --- a/README.md +++ b/README.md @@ -4,29 +4,35 @@ # DbGate - database administration tool -DbGate is fast and efficient database administration tool. It is focused to work with data (filtering, editing, master/detail views etc.) +DbGate is fast and easy to use database manager. Works with MySQL, PostgreSQL and SQL Server. -**Try it online** - https://demo.dbgate.org - online demo application +* Try it online - https://demo.dbgate.org - online demo application +* Download it from [dbgate.org](https://dbgate.org) + +![Screenshot](https://raw.githubusercontent.com/dbgate/dbgate/master/screenshot.png) ## Features -* Support for Microsoft SQL Server, Postgre SQL, MySQL -* Table data browsing - filtering, sorting, related columns using foreign keys +* Connect to Microsoft SQL Server, Postgre SQL, MySQL +* Table data editing, with SQL change script preview * Master/detail views * Query designer * Form view for comfortable work with tables with many columns -* Charts -* Browsing objects - tables, views, procedures, functions -* Table data editing, with SQL change script preview +* Explore tables, views, procedures, functions * SQL editor, execute SQL script, SQL code formatter, SQL code completion, SQL join wizard * Runs as application for Windows, Linux and Mac. Or in Docker container on server and in web Browser on client. * Import, export from/to CSV, Excel, JSON * Free table editor - quick table data editing (cleanup data after import/before export, prototype tables etc.) * Archives - backup your data in JSON files on local filesystem (or on DbGate server, when using web application) * Light and dark theme +* Charts * For detailed info, how to run DbGate in docker container, visit [docker hub](https://hub.docker.com/r/dbgate/dbgate) * Extensible plugin architecture -![Screenshot](https://raw.githubusercontent.com/dbshell/dbgate/master/screenshot.png) +## Why is DbGate different +There are many database managers now, so why DbGate? +* Works everywhere - Windows, Linux, Mac, Web browser (+mobile web is planned), without compromises in features +* Based on standalone NPM packages, scripts can be run without DbGate (example - [CSV export](https://www.npmjs.com/package/dbgate-plugin-csv) ) +* Many data browsing functions based using foreign keys - master/detail, expand columns, expandable form view (on screenshot above) ## Design goals * Application simplicity - DbGate takes the best and only the best from old [DbGate](http://www.jenasoft.com/dbgate), [DatAdmin](http://www.jenasoft.com/datadmin) and [DbMouse](http://www.jenasoft.com/dbmouse) . @@ -41,36 +47,12 @@ DbGate is fast and efficient database administration tool. It is focused to work ## Plugins Plugins are standard NPM packages published on [npmjs.com](https://www.npmjs.com). See all [existing DbGate plugins](https://www.npmjs.com/search?q=keywords:dbgateplugin). -Visit [dbgate generator homepage](https://github.com/dbshell/generator-dbgate) to see, how to create your own plugin. +Visit [dbgate generator homepage](https://github.com/dbgate/generator-dbgate) to see, how to create your own plugin. Currently following extensions can be implemented using plugins: - File format parsers/writers - Database engine connectors -## How Can I Contribute? -You're welcome to contribute to this project! Below are some ideas, how to contribute: - -* Create plugins for new import/export formats or database engines -* Bug fixing -* Test Mac edition -* Create unit tests -* Whatever else - -Any help is appreciated! - -Feel free to report issues and open merge requests. - -## Roadmap - -| Feature | Complexity | Schedule | -|---|---|---| -| Table designer (structure editor) | big | february 2021 | -| Support for SQLite | big | 2021 | -| Filtering, sorting in free table editor | small | ??? | -| Query designer | medium | december 2020 - done | -| Using tedious driver instead of mssql | small | january 2021 - done | -| Filter SQL result sets | small | november 2020 - done | - ## How to run development environment ```sh @@ -85,7 +67,7 @@ yarn lib Open http://localhost:5000 in your browser -You could run electron app, using this server: +You could run electron app (requires running localhost:5000): ```sh cd app yarn @@ -93,7 +75,7 @@ yarn start ``` ## How to run built electron app locally -This mode is very similar to production run of electron app. Electron app forks process with API on dynamically allocated port, works with compiled javascript files. +This mode is very similar to production run of electron app. Electron app forks process with API on dynamically allocated port, works with compiled javascript files (doesn't use localhost:5000) ```sh cd app @@ -109,13 +91,13 @@ yarn start:app:local ## Packages Some dbgate packages can be used also without DbGate. You can find them on [NPM repository](https://www.npmjs.com/search?q=keywords:dbgate) -* [api](https://github.com/dbshell/dbgate/tree/master/packages/api) - backend, Javascript, ExpressJS [![NPM version](https://img.shields.io/npm/v/dbgate-api.svg)](https://www.npmjs.com/package/dbgate-api) -* [datalib](https://github.com/dbshell/dbgate/tree/master/packages/datalib) - TypeScript library for utility classes -* [app](https://github.com/dbshell/dbgate/tree/master/app) - application (JavaScript) +* [api](https://github.com/dbgate/dbgate/tree/master/packages/api) - backend, Javascript, ExpressJS [![NPM version](https://img.shields.io/npm/v/dbgate-api.svg)](https://www.npmjs.com/package/dbgate-api) +* [datalib](https://github.com/dbgate/dbgate/tree/master/packages/datalib) - TypeScript library for utility classes +* [app](https://github.com/dbgate/dbgate/tree/master/app) - application (JavaScript) structure, creating specific queries (JavaScript) [![NPM version](https://img.shields.io/npm/v/dbgate-engines.svg)](https://www.npmjs.com/package/dbgate-engines) -* [filterparser](https://github.com/dbshell/dbgate/tree/master/packages/filterparser) - TypeScript library for parsing data filter expressions using parsimmon -* [sqltree](https://github.com/dbshell/dbgate/tree/master/packages/sqltree) - JSON representation of SQL query, functions converting to SQL (TypeScript) [![NPM version](https://img.shields.io/npm/v/dbgate-sqltree.svg)](https://www.npmjs.com/package/dbgate-sqltree) -* [types](https://github.com/dbshell/dbgate/tree/master/packages/types) - common TypeScript definitions [![NPM version](https://img.shields.io/npm/v/dbgate-types.svg)](https://www.npmjs.com/package/dbgate-types) -* [web](https://github.com/dbshell/dbgate/tree/master/packages/web) - frontend in React (JavaScript) -* [tools](https://github.com/dbshell/dbgate/tree/master/packages/tools) - various tools [![NPM version](https://img.shields.io/npm/v/dbgate-tools.svg)](https://www.npmjs.com/package/dbgate-tools) +* [filterparser](https://github.com/dbgate/dbgate/tree/master/packages/filterparser) - TypeScript library for parsing data filter expressions using parsimmon +* [sqltree](https://github.com/dbgate/dbgate/tree/master/packages/sqltree) - JSON representation of SQL query, functions converting to SQL (TypeScript) [![NPM version](https://img.shields.io/npm/v/dbgate-sqltree.svg)](https://www.npmjs.com/package/dbgate-sqltree) +* [types](https://github.com/dbgate/dbgate/tree/master/packages/types) - common TypeScript definitions [![NPM version](https://img.shields.io/npm/v/dbgate-types.svg)](https://www.npmjs.com/package/dbgate-types) +* [web](https://github.com/dbgate/dbgate/tree/master/packages/web) - frontend in React (JavaScript) +* [tools](https://github.com/dbgate/dbgate/tree/master/packages/tools) - various tools [![NPM version](https://img.shields.io/npm/v/dbgate-tools.svg)](https://www.npmjs.com/package/dbgate-tools)