Skip to content

frappe/insights

Repository files navigation

Frappe Insights logo

Frappe Insights

Simple. Crafted. Powerful. Data Analysis.

GitHub issues GitHub license GitHub release (latest by date) codecov unittests

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.

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: Frappe Insights a user-friendly query builder interface that allows users to create queries without any SQL knowledge. The interface provides a step-by-step approach for building queries, empowering 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 written in Python and Javascript. The framework provides a robust foundation for building web applications, including a database abstraction layer, user authentication, and a REST API.

  • Frappe UI: A Vue-based UI library, to provide a modern user interface. The Frappe UI library provides a variety of components that can be used to build single-page applications on top of the Frappe Framework.

  • Ibis: A Python library to interact with SQL databases using a high-level API. Ibis provides a unified interface to interact with 20+ databases, allowing Frappe Insights to support multiple database backends.

  • eCharts: A powerful charting library, to render charts and graphs. eCharts provides a variety of chart types and customization options, allowing Frappe Insights to provide a rich and interactive data visualization experience.

Installation

Managed Hosting

Get started with your personal or business site with a few clicks on Frappe Cloud.

Docker (Recommended)

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

Step 1: Setup folder and download the required files

mkdir frappe-insights
cd frappe-insights

Step 2: Download the required files

Docker Compose File:

wget -O docker-compose.yml https://raw.githubusercontent.com/frappe/insights/develop/docker/docker-compose.yml

Frappe Insights bench setup script

wget -O init.sh https://raw.githubusercontent.com/frappe/insights/develop/docker/init.sh

Step 3: Run the container and daemonize it

docker compose up -d

Step 4: 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. Install bench and setup a frappe-bench directory by following the Installation Steps
  2. Start the server by running bench start
  3. In a separate terminal window, create a new site by running bench new-site insights.test
  4. Map your site to localhost with the command bench --site insights.test add-to-hosts
  5. Get the Insights app. Run bench get-app https://github.com/frappe/insights
  6. Run bench --site insights.test install-app insights.
  7. Now open the URL http://insights.test:8000/insights in your browser, you should see the app running

Need help?

Join our telegram group for instant help.


License

GNU Affero General Public License v3.0