Web Application (Visit here) Desktop application
Angular Framework is used to build UI(front end) of both web & desktop version of this project. Having a vast community and an in-built set of libraries, Angular provides you a rapid development experience.
Ofcourse every framework has its own pros and cons. But since, I'm mostly experienced in Angular, so I would personally prefer Angular to build web and PWA app, and React to build mobile apps ;) .
Lerna is a tool for managing JavaScript projects with multiple packages.It optimizes the workflow around managing multi-package repositories with git and npm.
Package | Version | Description |
---|---|---|
sqleditor-app | The electron shell host for the sqleditor application. | |
sqleditor-ui | The core application: the sqleditor web app. This app is built using the @angular/cli. |
-
Run simple select queryies (eg.
select * from order_sample
orselect <col-1>, <col-2> from order_sample
). Current SQL parser is built based on mocked data and a fake json sql server, so. Based on data platform, parsing can be enhanced in future accordingly. -
You can
create as many query editor as you want
. Query will be executed from currently active query editor tab. -
Save as you type
. Whatever you write in query editor will be saved as you type. So in case, if you accidentally reload the page, query won't get lost. -
Maintains history of succesful/failed query
. Currenty the history is not dynamic so it will be cleared on page reload.You can even run any succesful query from your history list. So no need to type your query again.
-
Filter your query result
. A search textbox is provided so that you can search anything from query result, irrespective of columns or data types. -
Reset query editor
. Suppose you have created 7 query tabs and now you want to reset it to the default stage. Then reset query button allows you to do it. Just click to reset button given in the toolbar. -
Run query
from active query tabby either a shortcut (Ctrl+Shift+E) or execute button click
from toolbar. -
Dynamically add more mocking databases
on sidebar.
- Clone repo and install dependencies (
lerna bootstrap
ornpm install
). - Run the ui
npm run start:ui
and go to http://localhost:4200 - Build ui
npm run build:ui
For Windows
Note: I'm using Windows 10 (x64) so the windows build is tested.
- Build windows build(ia32) for desktop app
npm run package:app:win32:ia32
- Build windows build(x64) for desktop app
npm run package:app:win32:x64
For OSX
Note: Should work but not tested. Let me know if you face any issue. I'll try and fix. Or if you are a mac user and want to fix it yourself? Pull requets are always appreciated.
- Build darwin build(x64) for desktop app
npm run package:app:darwin:x64
For Linux
Note: Should work but not tested. Let me know if you face any issue. I'll try and fix. Or if you are a linux user and want to fix it yourself? Pull requets are always appreciated.
- Build linux build(x64) for desktop app
npm run package:app:linux:x64
- Build linux build(ia32) for desktop app
npm run package:app:linux:ia32
- Build linux build(arm64) for desktop app
npm run package:app:linux:arm64
You are welcome to contribute to this project. This project is in its early stage, no feature is frozen yet. All suggestions/fixes/help are more than welcome. Raise your issue or feature request here
Please contact me (@sumitparakh) if you need some help getting started with the setup..