Code Monkey home page Code Monkey logo

websocketdb's Introduction

WebsocketDB

WebsocketDB is an easy-to-use alternative to the standard MySQL Workbench. This application works on any modern browser that supports web sockets, and was developed specifically for in-house use; however, that can easily be manipulated.

Overview

  • Node express application
  • front end is built with jQuery and bootstrap
  • back end uses Socket.io
  • for best performance use pm2.keymetrics.io to serve application as a service to your server

Current Functionality:

  • log in as either a regular user(default) or as an admin which determines what you can do
  • type in sql statements and get appropriate output using either JSON, pipe delimited text, or a table from the server
  • as an admin you can edit tables using the user interface
  • filter tables with a search
  • export tables to excel
  • monitor how many user(s) are logged on
  • as an admin you can boot a user's connection(s) from the UI
  • on the left-hand side you have a simple UI of all the tables in the current database (click to view)
  • display an entire table from the UI (may be slow if table is significantly large)

Software Stack

WebsocketDB uses a number of open source projects to work properly:

Installation

WebsocketDB requires Node.js v4+ to run.

Install the dependencies and devDependencies and start the server.

$ cd WebsocketDB
$ npm install -d
$ node app.js

For production environments...using pm2

$ pm2 start processes.json --env production //to start application on server
$ pm2 stop processes.json //to stop application on server
$ pm2 logs //to debug, see server console etc.
$ pm2 status //check basic app statistics run time, PID, up/down

Todos

  • add click on table header sort ascending and descending functionality
  • create running and stop admin functionality which makes the database unavailable (to all clients except admin(s))
  • replace the IP's in admin functionality with client names if available
  • save edits to local storage when down or up key is pressed, so that changes or discarded changes only occur when the user presses save/cancel (works with scroll bc query to server is not being made)
  • sql error handling
  • do not allow users to update, delete, or alter tables/db through sql statements
  • optimize app speed for significantly large tables (look into nginx for caching, or other caching/local storage options)
  • add a chat functionality, so that users can communicate with admin

License

MIT

Contact: Oscar Valdes [email protected]

websocketdb's People

Contributors

oscarvaldes avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.