Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anechas/database-gateway
App connects to a remote database
https://github.com/anechas/database-gateway
database-connection electron microsoft-sql-server mysql nodejs postgresql react remote-database rest-api websocket
Last synced: 26 days ago
JSON representation
App connects to a remote database
- Host: GitHub
- URL: https://github.com/anechas/database-gateway
- Owner: AnechaS
- License: mit
- Created: 2019-09-02T21:30:46.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-05T18:28:05.000Z (about 1 year ago)
- Last Synced: 2024-10-12T07:23:14.676Z (26 days ago)
- Topics: database-connection, electron, microsoft-sql-server, mysql, nodejs, postgresql, react, remote-database, rest-api, websocket
- Language: JavaScript
- Homepage:
- Size: 2 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Database Gateway
This system is designed to solve the problem of being unable to connect to an external database through VPN or other methods (where the database is not open to the public). It utilizes the TCP protocol to access the database connected to the client-side program that we have developed (the client program). The basic concept is that the user sends a SQL command request through the API, and then the server controls the client-side program connected to the database to execute the SQL command and return the results.
> *เป็นระบบช่วยแก้ปัญหาเมื่อคุณไม่สามารถเชื่อมต่อฐานข้อมูลภายนอกด้วย VPN หรือวิธีอื่นๆได้ (ฐานข้อมูลไม่ได้เปิดเป็น Public) โดยระบบนี้จะใช้ความสามารถของ TCP protocal ในการเข้าถึงฐานข้อมูลที่เชื่อมต่อกับโปรแกรมฝั่งเซิร์ฟเวอร์ที่เราพัฒนา (โปรแกรมฝั่ง Client) ซึ่งหลักการทำงานคือ ผู้ใช้ส่ง Request คำสั่ง SQL ไปทาง API จากนั้น Server ก็จะไปควบคุมโปรแกรมผั่ง Client ที่เชื่อมต่ออยู่กับฐานข้อมูล ให้รันคำสั่ง SQL และนำผลลัพกลับไป*
## Installation
```bash
git clone https://github.com/Anechasun/database-gateway.git
cd database-gatewaynpm install
```## Server
```bash
npm run start-server
```## Client
```bash
npm start
```### Create installable app file
```bash
npm run build
```## Usage
#### 1. Start Server.
#### 2. Start Client app.
#### 3. Set up database in Client app.
**`Driver`**: Database types (postgresql, mysql, microsoft-sql-server)
**`Host`**: Database server.
**`Port`**: Database port.
**`Username`**: Username used to establish the connection.
**`Password`**: Password used to establish the connection.
**`Database`**: Database name.
**`Code`**: Client unique id.
#### 4. Retrieve data in the database.
This is just a demo API. You can customize it as needed, as shown in this example code [server/index.js](https://github.com/Anechasun/database-gateway/blob/master/server/index.js#L21).
```bash
curl -X GET \
'http://localhost:3000/query?sql=SELECT * FROM users'
```