Giter VIP home page Giter VIP logo

insights's Introduction

Insights

Insights is a tool to visually explore a PostgreSQL database, with an emphasis on generating graphs that show business performance over time.

Think of Google Data Studio or Google Looker, but totally free, self-hosted and without the "Google" part.

See a live demo for Widgets Inc, a fictional e-commerce site.

Insights Explorer

Important Disclaimer and Security Notice!

Please be aware that is an extremely early BETA release of Insights, which has not gone through any kind of security audit.

Use on a live server at your own risk!

Installing

To install, make sure you have Node 10+ installed and then run:

npm install -g insights
insights init
insights start

This creates a folder .insights which contains all the config and runtime data.

Implemented Features

  • Self Hosted, installed via NPM
  • PostgreSQL connection support
  • Auto-detect your database schema, including all foreign keys!
  • Connect to multiple databases
  • Edit the schema and add custom SQL fields right there in the interface!
  • Create subsets of your data (e.g. share only a few fields with marketing)
  • Data explorer
  • Filters on the data
  • Time-based graphs
  • Split the graph by some column (e.g. new users by country name)
  • Keyboard navigation in the sidebar
  • Saved views
  • Pinned fields

Coming Soon

  • Embed React or <iframe> components and get data through the insights API
  • Decent mobile support
  • Log in with your Google Account
  • Manage users in the interface
  • Access control for subsets
  • PDF and XLSX exports
  • Way more and better graphs
  • View generated SQL
  • Dashboards
  • Multiple lines from different sources on one chart in the dashboard
  • Plugins?

Support

Insights is MIT-licensed Sponsorware. If you use it in your business, please contribute towards its development!

To stay in touch and receive news when we release a significant update, please sign up here.

You can also follow me on Twitter to receive the latest updates.

Development

If you want to help with development, run these steps:

# 1. fork the repo in github

# 2. clone it
git clone [email protected]:<YOUR_NAME_HERE>/insights.git

# 3. install all dependencies
cd insights
yarn

# 4. start the app
yarn run init
yarn start

# 5. open http://localhost:3000/ and hack away

insights's People

Contributors

dependabot[bot] avatar mariusandra avatar vanakenm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

insights's Issues

PDF export

To get the PDF export button to work on the server I had to:

  1. download the stable whhtmltopdf from here
  2. install by extracting to /usr/local
  3. run sudo apt-get install libfontconfig1 libxrender1

Can't this be done in bundle so that it works automatically? Anyone up for investigating?

There is a way with gem 'wkhtmltopdf-binary', but it installs wkhtmltopdf 0.9, not 0.12. I had bugs with 0.9 with fonts and other random issues, so it won't fly. Are there other methods? Or alternative PDF generators?

Insights as Rails engine

Great job with the gem!

Would insights maybe work as a Rails engine as well?...with some extra work.

Thanks,

Wildcard selector for insights_export

Hey. Nice job with insights!

I've been fiddling around with insights and I am trying to export my Active Record to the insights.yml file, but i only want to include some models. It would be nice to have a feature like a wildcard or specific taks to select specific Models to be exported.

Thanks and keep up the good work

Upgrading Helmet to the next major version

I'm the maintainer of Helmet. I plan to release the next major version this Sunday, 2020-08-22.

Is there anything I can do to help get this project upgraded to helmet@4?

If you'd like to try out the release candidate now, you can install it with npm install helmet@next. If you'd rather discuss things outside of this issue, feel free to reach out to me another way.

Hope I can be helpful!

Export Compatibility Issues

Experimenting with Insights on our one of our Rails 4.2 app - when I run rake insights:export I am seeing a lot of failures, with both polymorphic associations, and in places where I'm using the friendly_id and acts_as_taggable (which are themselves using polymorphic associations under the hood).

NoMethodError: undefined method `primary_key' for ActsAsTaggableOn::Taggable:Module

Also see an issue with the closure_tree gem - it creates _hierarchies tables without a primary key, which results in this message:

Unknown primary key for table foo_hierarchies in model FooHierarchy.

Error yarn run init

I followed the commands in the Development section, point 4 of readme.me but I got this error!
What's wrong?
Thank you.

bash ❯ yarn run init
yarn run v1.22.5
$ rm -rf .insights && ./packages/insights/bin/insights-init --dev
Welcome to Insights v0.0.72!

This script will create a folder ".insights", which will be used to store
config data. Please add it to .gitignore if you're running this script
inside a project folder!

Do you wish to setup Insights in "login" mode, requiring authentication to
access the interface or in standalone "loginless" mode, which is practical
only when running in localhost.

Setup Insights in "login" mode? (Y/n): n

Creating folder: /home/seifeslimene/insights/.insights

(node:19621) UnhandledPromiseRejectionWarning: Error: Cannot find module 'insights-api/lib/app'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/seifeslimene/insights/packages/insights/app/create-superuser.js:7:13)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at initInsights (/home/seifeslimene/insights/packages/insights/app/init.js:89:27)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:19621) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:19621) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Fetch database model automatically

The README of the project states:

Similar to Looker and their LookML, insights requires you to define your data model in a file called insights.yml.
You use the insights_export gem to generate this file from your Rails Models. (Adapters for other frameworks coming soon.)

That means we can't just plug insights into our database and start exploring, we need to duplicate the SQL model in YAML first. Wouldn't it be possible to fetch this model automatically from the database?

In Python, SQLAlchemy's automap feature is able to extract that kind of information, is there any Ruby library providing that feature?

insights createsuperuser

@mariusandra

PS F:\insights\node_modules> insights createsuperuser
module.js:549
throw err;
^

Error: Cannot find module 'F:\insights\node_modules\insights-createsuperuser'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3

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.