GithubHelp home page GithubHelp logo

learndb's Introduction

LearnDB

LearnDB is a web front-end to Postgres databases. It allows users to run queries on any Posgres server. It also allows users to change their password on any Postgres server.

LearnDB is still in early stages of development, but the features listed above are functional.

Architecture overview

At present, LearnDB is composed of two separate servers which are integrated such that end users do not need to launch the servers separately.

  • Query server: A query server to let users connect to any Postgres database and query it. This sever combines pgweb with a proxy server.
  • Change-Password server: A customer Node.Js server to let users change password. The goal is to evolve this Node.js server to provide all the services.

The following figure depicts the current architecture.

Image

Requirements

LearnDB uses Node.js, pgweb, and Postgres, all of which can be run on any operating system. The proxy server uses Microsoft Internet Information Server (IIS), which requires Windows server.

Installation

The Query server and Change-Password server are installed and run separately. See the README in directory src/pgweb_proxy for instructions to install the Query server.

The Change-Password server is a Node.js Express web server (tested with LTS Version 10.16.2). Follow these steps to install and run the server:

  1. Install Node.js with npm. Use the installer defaults.
  2. Open a terminal or command window (as administrator if using Windows)
  3. Install the server by running the following command from the src directory in your clone of this repo: npm install
  4. Start the server using the following command: npm start

By default, the Change-Password server listens on localhost:5000, unless a different IP address and port are specified in code or in the environment.

The four components--proxy, pgweb, Change-Password server, and Postgres-- could all be run on the same machine, or they could each be run on a different machine.

Credits

LearnDB is developed at the Data Science & Systems Lab (DASSL, read dazzle).

LearnDB was conceived by and is designed by Sean Murthy. The following undergraduate students at Western Connecticut State University contributed to the implementation:

Contributing

Contributions and ideas are welcome. Please mail a summary of your thoughts to the address shown on the DASSL web site. Please mention "LearnDB" in the subject line.

Legal Stuff

LearnDB is distributed under Creative Commons License BY-NC-SA 4.0.

PROVIDED AS IS. NO WARRANTIES EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.

learndb's People

Contributors

ajetski avatar calebgarrick avatar kevinkelly25 avatar smurthys avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

learndb's Issues

Need a stop-gap web app to change password

While pgweb is used a front-end, a stop-gap app is needed for users to change their passwords for the underlying PostgreSQL database. Information about proposed solution can be found here.

EDIT: Changed wording to show stop-gap nature of the app. Also changed the URL due to Wiki changes.

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.