Giter Club home page Giter Club logo

querypal's Introduction

Querypal

Querypal is a web-based, query execution tool which leverages Amazon Athena to make authoring queries and retrieving results simple for users. Querypal provides the ability to find tables, see metadata, browse sample rows, write and edit queries, then submit queries all in a web interface. Once queries are running, users can track query progress and when finished, get the results back through the browser as a table.

Querypal UI

Features

  • Fully serverless and can be hosted as an Amazon S3 static website.
  • Authentication is managed by Amazon Cognito and can be customized.
  • Table explorer to visualize schema of table and first 1000 rows.
  • Syntax highlighting
  • Global Query Timeline: The query timeline allows users to share queries with their colleagues. Shared queries are visible to all users and can help speed up analysis.

TODOs

  • Saved queries
  • Query history for self
  • Result export to CSV
  • Auto-suggestions
  • Remove dependency on AWS SSM Parameter store for GitHub Access Token

Requirements:

  • AWS Account
  • NPM or Node
  • VueJS
  • AWS Amplify
  • Yarn package manager
  • See project setup below

Deployment

To deploy the infrastructure and code, you'll need an AWS account and a correctly configured AWS profile with enough permissions to create the architecture below (Administrator rights are recommended).

bash ./deploy.sh -p <aws_profile> -r <aws_region> 

Before executing the shell command above, it is required that you provide a GitHub Access token that will be used to create a webhook and read-only deploy key by AWS Amplify. This token should be stored in your AWS SSM Parameter Store with the key /Querypal/Amplify/GitHubToken.

All arguments to the deploy.sh script are optional. The default AWS profile and region are used if none are provided.

The script will:

  1. Create a CloudFormation stack named querypal-web-ui holding the following:
    • AWS Amplify App for Querypal
    • IAM Service to be assumed by AWS Amplify for managing deployments
    • SSM Parameter containing the AWS Amplify App ID which will be used later
  2. Deploy an AWS Amplify UI and monitor the job
  3. Print out Querypal AWS Amplify Default Domain URL.

The initial deployment can take 10-15 minutes. The same command can be used for both creating and updating infrastructure.

Development

Project setup

yarn install

Compiles and hot-reloads for development

yarn run serve

Compiles and minifies for production

yarn run build

Run your tests

yarn run test

Lints and fixes files

yarn run lint

Customize configuration

See Configuration Reference.

querypal's People

Contributors

oelesin avatar

Stargazers

Roman avatar

Watchers

James Cloos 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.