All Projects → xshogi → hisha

xshogi / hisha

Licence: other
Postgres SQL Cross Platform Web-based Client

Programming Languages

CSS
56736 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to hisha

pg-ts
Typescript wrapper around node-postgres
Stars: ✭ 15 (-34.78%)
Mutual labels:  pgsql, node-postgres
Blog
Everything about database,business.(Most for PostgreSQL).
Stars: ✭ 6,330 (+27421.74%)
Mutual labels:  pgsql, pg
Postgraphile
GraphQL is a new way of communicating with your server. It eliminates the problems of over- and under-fetching, incorporates strong data types, has built-in introspection, documentation and deprecation capabilities, and is implemented in many programming languages. This all leads to gloriously low-latency user experiences, better developer experiences, and much increased productivity. Because of all this, GraphQL is typically used as a replacement for (or companion to) RESTful API services.
Stars: ✭ 10,967 (+47582.61%)
Mutual labels:  pgsql, pg
Piggly
PL/pgSQL stored procedure code coverage tool
Stars: ✭ 47 (+104.35%)
Mutual labels:  pgsql
Vscode Postgres
PostgreSQL extension for vscode providing explorer, highlighting, diagnostics, and intellisense
Stars: ✭ 117 (+408.7%)
Mutual labels:  pgsql
p1 pgsql
Pure Erlang PostgreSQL driver
Stars: ✭ 17 (-26.09%)
Mutual labels:  pgsql
pgspeck
Small block size Speck encryption in PostgreSQL
Stars: ✭ 16 (-30.43%)
Mutual labels:  pg
nestjs-api-mongoose
Collection example apps with NestJS and Typeorm, Sequelize, Mongodb, PostgreSQL, MySQL, GraphQL, Mercurius, etc. for the NestJS community 😻
Stars: ✭ 153 (+565.22%)
Mutual labels:  pg
Pecee Pixie
Lightweight, easy-to-use querybuilder for PHP inspired by Laravel Eloquent - but with less overhead.
Stars: ✭ 19 (-17.39%)
Mutual labels:  pgsql
Sumo db
Erlang Persistency Framework
Stars: ✭ 163 (+608.7%)
Mutual labels:  pgsql
sqle
SQLE is a SQL audit platform | SQLE 是一个支持多场景,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具
Stars: ✭ 731 (+3078.26%)
Mutual labels:  pg
Ozo
OZO is a C++17 Boost.Asio based header-only library for asyncronous communication with PostgreSQL DBMS.
Stars: ✭ 138 (+500%)
Mutual labels:  pgsql
laravel-database-manager
Make your database simple, easier and faster with vuejs.
Stars: ✭ 50 (+117.39%)
Mutual labels:  pgsql
Pgfe
The PostgreSQL client API in modern C++
Stars: ✭ 98 (+326.09%)
Mutual labels:  pgsql
pg-sql-helpers
A set helpers for writing dynamic SQL queries with `pg-sql` in Javascript.
Stars: ✭ 37 (+60.87%)
Mutual labels:  pg
Naming Convention
Templates for naming convention - TSQL, JavaScript, C#, R, Python, Powershell
Stars: ✭ 961 (+4078.26%)
Mutual labels:  pgsql
Xc Spring Cloud Alibaba
spring cloud alibaba(2.2.1最新版)+nacos+dubbo+gateWay+sentinel+rocketmq+(pgsql/mysql8.0的json支持)+ignite集成可用于docker分布式框架+分布式自动化任务+mybatis多数据源+seate+ shardingSphere分布式分库事务解决方案
Stars: ✭ 131 (+469.57%)
Mutual labels:  pgsql
casbin-pg-adapter
A go-pg adapter for casbin
Stars: ✭ 23 (+0%)
Mutual labels:  pg
pure-orm
A pure ORM for writing native SQL queries yielding pure business objects
Stars: ✭ 349 (+1417.39%)
Mutual labels:  node-postgres
possu
🐖 A small companion library for node-postgres
Stars: ✭ 19 (-17.39%)
Mutual labels:  node-postgres

Hisha

Hisha is cross-platform and web-based Postgre SQL Database client.

Features

This project is inspired from Adminium and pgweb. These projects are cross platform postgres editors. The features are:

  1. Cross-platform: Hisha is a web-based application. You can deploy it as a public website so that you can access it any where.
  2. Click cell to edit: if you would like to edit/update a cell of a table, all you need to do is simply double click on the cell. The cell will get into editing mode.
  3. Enter to save: once you finished your creation, you can simple press return/enter key on keyboard to save the update. Note that this action will commit your update to database if there is no error during update query.
  4. No database required for this project: except the database you would like to connect to, there is no database integration required to deploy this project.
  5. Schema independent: since there is no database integration in this project, you don't need to defined any schema for deployment.

But Adminium does not open as a public service but only be an add-on of heroku. pgweb is lack of saving data by press enter. Both of them do not provide user management.

Usage

  1. Download bundled source code or git clone [email protected]:xshogi/hisha.git.
  2. Run npm install to install dependent modules.
  3. Run npm start to run the server.
  4. Connect to localhost:3000 to view the portal for database connection.

portal

Currently, Hisha only support connections (with TLS/SSL) by manually providing database host, user, password and database name. You can test your connection after you complete form. Once you connect to the database, all the tables of it will be listed.

tables

Demo

Hisha Demo

Introduction

There are two parts of this client.

  1. API: in this part, Hisha defined logic of CRUD operation of Postgres SQL Database.

    • Tables management API
    • User management API
  2. UI: this is a web-base user interface for users to management the database, tables, and users

    • Database management
    • Table management
    • User management

This platform is targeting to provide two methods to manipulate Postgres SQL. One is native SQL string. You can use SQL syntax to do create, update, read and detele of data just like traditional database management softwares. The other way is WYSIWYG editors. For creating table, there is an HTML form for you to add new colume into schema and define the type, nullable, default value, and other properties. To update existed data entry, you can go into target table, simply select the cell of entry you would like to edit and double click the cell to edit. It's also easy to save the editing. All you need to do is press enter key or click check button. Then the JavaScript behind this base will make an Ajax request your API backend to finish the update operation.

Deploy with Docker

  1. Build the docker image: docker build -t <image name> .
    $ docker build -t fbukevin/hisha .
    Sending build context to Docker daemon  6.204MB
    Step 1/7 : FROM node:10
    10: Pulling from library/node
    d660b1f15b9b: Pull complete
    46dde23c37b3: Pull complete
    6ebaeb074589: Pull complete
    e7428f935583: Pull complete
    eda527043444: Pull complete
    f3088daa8887: Pull complete
    80e2dc61b67d: Pull complete
    26d4b3db26a2: Pull complete
    Digest: sha256:bd3e48221d9b9303a6da8469e9052df92e6f562b3345fbab0871784b3960f04a
    Status: Downloaded newer image for node:10
     ---> 52fe93b8eea7
    Step 2/7 : WORKDIR /usr/src/app
     ---> Running in 203206809cc6
    Removing intermediate container 203206809cc6
     ---> d3fb8953c00e
    Step 3/7 : COPY package*.json ./
     ---> f4013d90daad
    Step 4/7 : RUN npm install
     ---> Running in a9dd40c6190b
    npm notice created a lockfile as package-lock.json. You should commit this file.
    added 79 packages from 48 contributors and audited 168 packages in 2.916s
    found 2 moderate severity vulnerabilities
      run `npm audit fix` to fix them, or `npm audit` for details
    Removing intermediate container a9dd40c6190b
     ---> 4a4cc84b658b
    Step 5/7 : COPY . .
     ---> cc6c3539fed2
    Step 6/7 : EXPOSE 3000
     ---> Running in 8fdc6f725df9
    Removing intermediate container 8fdc6f725df9
     ---> 0ec1b3afe760
    Step 7/7 : CMD [ "npm", "start" ]
     ---> Running in f5b5c77a757c
    Removing intermediate container f5b5c77a757c
     ---> 10850246bf3e
    Successfully built 10850246bf3e
    Successfully tagged fbukevin/hisha:latest
  2. Check the image: docker images
    $ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZEc321abde574e5c682ad8ee662464febee36410cd202da3d75bcb8c0e571bce57
    fbukevin/hisha      latest              10850246bf3e        3 minutes ago       683MB
  3. Run a container: docker run -p 3000:3000 -d <image name or ID>
    $ docker run -p 3000:3000 -d fbukevin/hisha
    c321abde574e5c682ad8ee662464febee36410cd202da3d75bcb8c0e571bce57
    $ docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
    c321abde574e        fbukevin/hisha      "npm start"         4 seconds ago       Up 3 seconds        0.0.0.0:3000->3000/tcp   zealous_pare
  4. Check container log and connect to server localhost:3000
    ↪ docker logs c32
    > [email protected] start /usr/src/app
    > node ./bin/www

WIP ToDo List

  • User management (create, update and remove user, grant access privillege)
  • Create and drop table
  • Improvement of table rows editing (check mark button for saving update)
  • Table searching
  • Row sorting and searching
  • Testing
  • Connecting via scheme (connection string)
  • SQL execution support

DevRef

Contributing

Any new feature or improvement or bug fixing is welcome! Let's make this project more useful and powerful!

License

Requesting advise.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].