Skip to content

frappe/insights

Repository files navigation

Frappe Insights logo

Frappe Insights

Open Source Business Intelligence Tool

GitHub release (latest by date) codecov

Hero Image

Frappe Insights

Insights is a 100% open-source BI tool designed to make data analysis and reporting more accessible to technical as well as non-technical users.

Screenshots

Query Builder Query Builder Chart Builder

Motivation

Building custom apps or creating structured data has been very easy with Frappe Framework. However, extracting information from these apps was not a very good experience. Users needed to know how to write SQL queries to create reports to gain valuable information from the data. So I wanted to improve the experience of building these reports and dashboards for everyone in our team.

Key Features

  • Connect Multiple Sources: You can integrate data from multiple databases, files and spreadsheets. Getting all your data into one place helps you analyse interconnected data.

  • Query Builder: You can use the query builder to create queries without any SQL knowledge. The interface provides a step-by-step approach for building queries, allowing users to easily select tables, add joins, apply filters, perform calculations, and more.

  • Visualizations and Dashboards: You can visualize the query results using a variety of charts and graphs. Frappe Insights also suggests the best chart for a given result set. You can create dashboards using a drag-and-drop interface and add filters on the dashboard to apply to the charts.

  • Database Support: Frappe Insights currently supports MySQL, PostgreSQL, DuckDB, and BigQuery databases. More database integrations are planned for the future.

Under the Hood

  • Frappe Framework: A full-stack web application framework.

  • Frappe UI: A Vue-based UI library, to provide a modern user interface.

  • Ibis: A powerful library to compose SQL queries with dataframe APIs.

  • eCharts: An interactive charting and data visualization library.

Production Setup

Managed Hosting

You can try Frappe Cloud, a simple, user-friendly and sophisticated open-source platform to host Frappe applications with peace of mind.

It takes care of installation, setup, upgrades, monitoring, maintenance and support of your Frappe deployments. It is a fully featured developer platform with an ability to manage and control multiple Frappe deployments.

Self Hosting

Follow these steps to set up Frappe Insights in production:

Step 1: Download the easy install script

wget https://frappe.io/easy-install.py

Step 2: Run the deployment command

python3 ./easy-install.py deploy \
    --project=insights_prod_setup \
    --email=your_email.example.com \
    --image=ghcr.io/frappe/insights \
    --version=stable \
    --app=insights \
    --sitename subdomain.domain.tld

Replace the following parameters with your values:

  • your_email.example.com: Your email address
  • subdomain.domain.tld: Your domain name where Insights will be hosted

The script will set up a production-ready instance of Frappe Insights with all the necessary configurations in about 5 minutes.

Development Setup

Docker

You need Docker, docker-compose and git setup on your machine. Refer Docker documentation. After that, follow below steps:

  1. Setup folder and download the required files

    mkdir frappe-insights
    cd frappe-insights
    
    # Download the docker-compose file
    wget -O docker-compose.yml https://raw.githubusercontent.com/frappe/insights/develop/docker/docker-compose.yml
    
    # Download the setup script
    wget -O init.sh https://raw.githubusercontent.com/frappe/insights/develop/docker/init.sh
    
  2. Run the container and daemonize it

    docker compose up -d
    
  3. The site http://insights.localhost:8000/insights should now be available. The default credentials are:

    • Username: Administrator
    • Password: admin

Local

To setup the repository locally follow the steps mentioned below:

  1. Setup bench by following the Installation Steps and start the server

    bench start
    
  2. In a separate terminal window, cd into frappe-bench directory and run the following commands:

    bench get-app insights
    bench new-site insights.test --install-app insights
    bench --site insights.test add-to-hosts
    bench --site insights.test browse --user Administrator
  3. Now, open a new terminal session and cd into frappe-bench/apps/insights, and run the following commands:

    yarn
    yarn dev
    
  4. Now, you can access the site on vite dev server at http://insights.test:8080

Learn and connect