Coder Social home page Coder Social logo

olivia-code / seeqr_web Goto Github PK

View Code? Open in Web Editor NEW

This project forked from open-source-labs/seeqr-web

0.0 0.0 0.0 13.58 MB

A web-based database analytic tool that allows a developer to compare the efficiency of different queries on a granular level to make better informed architectural decisions regarding Postgres databases at various scales.

License: MIT License

JavaScript 8.93% TypeScript 77.99% SCSS 13.08%

seeqr_web's Introduction

PRs Welcome Release: 1.0 License: MIT Contributions Welcome Twitter Github stars theSeeQR.io theSeeQRweb.io

SeeQR: A database analytic tool that compares the efficiency of different schemas and queries on a granular level to make better informed architectural decisions regarding SQL databases at various scales.

Table of Contents

Beta Phase

SeeQR is still in BETA. Additional features, extensions, and improvements will continue to be introduced. If you encounter any issues with the application, please report them in the issues tab or submit a PR. Thank you for your interest!

Getting Started

To get started on contributing to this project:

  1. Fork or clone this repository
  2. Npm install
    1. Run npm install for application-specific dependencies.
    2. Run global install for: 'typescript'.
  3. Install Live Sass Compile VSCode extension (settings are configured in the .vscode file in this repo), or set up your preferred Sass compiler
  4. To run application during development
    1. npm run dev to launch SeeQR in localhost 3000 and webpack-dev-server.

Built With

Interface & Features

The whole interface in a nutshell

  • Input Schema

    • New schemas can be imported into the application by pasting the contents of your .sql file into the query panel on the UI of the app.
    • Once you've imported the contents of the .sql file, you're ready to make queries!
  • Query input

    • The center panel is where the query input text field is located, utilizing CodeMirror for SQL styling.
    • Users have option to execute a tracked or untracked query—simply check the box and provide a label to identify the query in later comparisons against other queries.
    • Toggle the submit button in the bottom left to send the query to the selected database.



  • Data

    • The data table displays data returned by the inputted query.


  • History

    • The history table shows the latest queries the user submitted irrespective of the database.
    • The history table also displays the total rows returned by the query and the total query execution time.
  • Compare

    • The comparison table is flexible to the user’s preferences.
    • The user selects which queries they want to compare side by side from the ‘Add Query Data’ drop down.
    • They can add and remove queries as they see fit.
  • Visualized Analytics

    • Upon each query execution, query runtime displays under the "Query Label vs Query Runtime" graph. Graph automatically interpolates as results enumerate.
    • User may toggle on specific query analytics results with the Comparisons panel to compare query performances.
    • Graph will be organized on x-axis by label, and colored by schema.

Application Architecture and Logic

Sandbox Environment
SeeQR streamlines the process of instantiating postgres databases by leveraging elephantSQL to import a copy of your database on the web. This means instances of databases are automatically created every time new schema data is inputted via the SeeQR GUI.

Query Runtime Comparisons
One of the key features of SeeQR is to compare the efficiency of executing user-inputted queries. The SeeQR web app allows for you to see and compare the runtimes for each query you've tracked.

Database Architecture
As of right now, the SeeQR web app allows for one database to be inputted and queried. We intend to add functionality for multiple schemas to be added for comparison purposes at a later time.

Session-based Result Caching
The outcome results from each query, both retrieved data and analytics, are stored in the application’s state, which can be viewed and compared in table and visualizer formats. Note that these results’ persistence is session-based and will be cleared upon quitting the application.

Core Team


Catherine Chiu

Serena Kuo

Frank Norton

Mercer Stronck

Muhammad Trad

Justin Dury-Agri

Casey Escovedo

Sam Frakes

Casey Walker

Chris Akinrinade

James Kolotouros

Jennifer Courtner

Katie Klochan

seeqr_web's People

Contributors

catherinechiu avatar serenackuo avatar cwalker3011 avatar justind-a avatar chrisakinrinade avatar muhammadtrad avatar jcourtner avatar franknorton32 avatar caseyescovedo avatar frakes413 avatar mstronck avatar kklochan 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.