Giter VIP home page Giter VIP logo

smart-bi's Introduction

SMART BI Platform 📊

An automatic analysis platform based on AI, which only requires data and requirement to generate the conclusion

An intelligent data analysis platform based on React + Spring Boot + Redis + RabbitMQ + MyBatis Plus + AIGC. Unlike traditional BI, data analysts only need to import the original data set and enter the objectives they want to analyze. AI automatically generate a chart that meets the requirements as well as the conclusions of the analysis. In addition, there will be chart management, asynchronous generation and other functions, significantly reducing the cost of manual data analysis

Pros: It allows users who don't know how to analyze data to quickly complete data analysis by inputting the goal, which greatly saves labor costs, and the AI interface will be used to generate the analysis results

A full-stack project where has been deployed on-line. The project will continue to expand and optimize in the future!

Address: SMART BI Platform

System Architecture ⭐

Basic Architecture

The client side enters the analysis demand and raw data and sends a request to the business back-end. The business back-end utilizes the AI service to process the client data, remain to the database, and generate charts. The processed data is sent from the business back-end to the AI service, which generates the results and returns them to the back-end, and ultimately returns the results to the client for demonstration

v1.png

Optimized Architecture - Asynchronization

Asynchronization:

Since invoking AI consumes a long operation time, asynchronization allows the user to submit without waiting and will be notified when the operation is successful

Business process:

1: User clicks on the Submit button on the Intelligent Analytics page, the chart is immediately saved to the database (as a task)

2: Users can view the information and status of all charts (generated, in progress, failed) on the chart management page

3: Users can modify the information of failed charts by clicking Re-generate

v2.png

Tech Stack 🔥

Frontend

  • Framework:React、Umi
  • Component:Ant Designts
  • Extension:TypeScript、Less
  • Package:Webpack
  • Code specification:ESLint、StyleLint、Prettier
  • Chart:ECharts

Backend

  • Language:Java

  • Framework:SpringBoot 2.7.2、Mybatis-plus

  • Database:MySQL8、Redis

  • Rate limiter:Redissson

  • Message queue:RabbitMQ

  • AI:AI SDK

  • Asynchronization:JDK ThreadPool

  • Data processing:Easy Excel

  • Specification:Swagger,Knife4j

Functional module 🎊

🌟 Core function

🚀 To do

  • Login / Register / Logout
  • Synchronized chart generation
  • 🌟Asynchronous Chart Generation
  • View / search chart result
  • View chart detail & re-generate
  • Download test data(🚀)

Project display 📊

  • User Login / Registration

login

re

  • Synchronized chart generation

  • Asynchronous Chart Generation

  • View / search chart result

  • View chart detail & re-generate

Quick start 🏃‍♂️

Backend

Configuration of MySQL 8.0 、Redis 、RabbitMQ 3.12.2 and corresponding ports

Frontend

Environment:Node.js >= 18

Dependency:

npm i @ant-design/pro-cli -g
npm i

Start:

npm run start:dev

Contribution 👨‍👨‍👦‍👦

Looking forward to more contributions :

  • I will respond positively to bugs and suggestions in the Issues section.

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.