xianer0405 / quanxiang

QuanXiang is a powerful, pluggable open source low-code platform used to assist in building various types of digital applications for enterprises.

Home Page:https://www.quanxiang.dev/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quanxiang Cloud Logo


QuanXiang

QuanXiang is a powerful, pluggable open source low-code platform.

English| 中文

GitHub contributors GitHub issues GitHub stars GitHub forks Twitter Follow

Website | Demo | Documentation | Guide | Community

Introduction

QuanXiang is a cloud-native, fully containerized, open source, low-code platform used to assist in building various types of digital applications for enterprises. The platform currently provides two application development modes: no-code and low-code on the cloud, and supports visual design, allowing developers and business users to quickly complete application development through simple drag-and-drop and parameter configuration. As a multi-application integration and management platform integrating low-code development capability, identity authentication capability and container DevOps capability, QuanXiang supports rapid application building, easy maintenance and management of applications, integration of enterprise stock business and full-image cloud building business.

Features

QuanXiang builds a low-code ecosystem around application design, development, deployment, operation and maintenance. The core capabilities of the platform are as follows:

🚀 Rapid application development
  • Visual designer: Users can complete form, workflow, data_models, and permissions through simple drag and drop, parameter configuration, etc.
  • Form engine: Provides rich page components.
  • Workflow engine: Supports a variety of triggering methods and process components, and provides the ability of a rule engine to meet the logic definitions of complex businesses.
  • ☁️ Cloud deployment operation and maintenance
  • QuanXiang is based on Kubernetes deployment, CI/CD continuous delivery deployment.
  • Support the deployment and operation and maintenance of different cloud vendors.
  • Provide system log, support to view all operation records.
  • 🤖 Multi-terminal adaptation Apply one-time design and adapt flexibly to multiple ends. Support one-click publishing as WEB App, Native App, WeChat Applet.
    🧑‍💻 Organization management
  • Corporate directory: Provide a variety of ways to manage the corporate directory to help companies quickly build an organization.
  • Role management: Enterprise role permissions are subdivided to ensure platform account access security and data security.
  • 🗂 System connectivity
  • Supports data connection between applications, providing data connection capabilities of different granularity, for example, data linkage update between tables and interaction between fields.
  • Provide solution integration of different granularities, such as: component integration, page integration, application integration.
  • 🧩 Pluggable open source QuanXiang is a cloud native, distributed architecture platform system. Core services (except for aggregated services) are completely decoupled and low cohesive, and services are accessed through API interfaces.

    Architecture

    QuanXiang uses a loosely-coupled architecture that separates the frontend from the backend. It provides a plug-and-play, microservices architecture and embraces the diversity of languages and developer frameworks. The platform is divided into: application layer, docking layer, data processing layer and basic layer.

    architecture_en

    Installation

    QuanXiang privodes a deployment tool, which can help user to quckly deploy QuanXiangCloud low-code platform with a single line of command . QuangXiang deployment tool support most of popular K8S release, currently supported for installation in KubeSphere environments.

    ✨ Installing on a Kubesphere environment (recommended)

    Prerequisites

    • Kubernetes cluster environment

    Deploy QuanXiang on KubeShpere(recommend)

    Step 1. Deploy KubeSphere

    • Deploy KubeSphere manully, refer office documentation for more details.
    • Using KubeSphere(R)(QKE) (recommend) to deploy KubeShere cluster, which is high availability and support automatic inspection and repair.

    KubeSphere cluster requirments:

    Node Type Quantity Resource Requirment
    Master 1 CPU: 4 core, Memory: 8 GB, Disk: 80 GB
    Worker 5 CPU: 4 core, Memory: 8 GB, Disk: 80 GB

    Notice

    Scale nodes' resources to double and use PaaS that privode by cloud vendors, if you want to use QuanxiangCloud as production.

    Step 2. QuanXiang installation

    Prerequisite

    Before deploying QuanXiang, below options are required in local environment:

    • Accessible KubeSphere cluster.
    • 'kubectl' is installed on local. refer kubectl installation to install kubectl.
    • Kubeconfig is configured. refer below steps to configure kubeconfig
      • Get QKE kubeconfig from QingCloud console.
      • For KubeSphere kubeconfig, refer to documentation or ask community for more help.
    • Helm3 is required. refer helm3 installation to install helm3.
    Download release

    You can download the release version directly. QuanXiang privodes various architecture package.

    Build from source code

    To build QianXiang deployment tool, that golang 1.16 is needed and special correct GOOS, GOARCH. Example command with Linux and amd64.

     git clone https://github.com/quanxiang-cloud/quanxiang.git
     cd quanxiang
     git checkout master
     CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o installApp main.go

    Notice

    • GOOS: darwin, Linux, Windows, FreeBSD etc.
    • GOARCH: amd64, 386, arm etc.

    Deploy QuanXiang

    QuanxiangCloud deployment tool support production and demo:

    • For production, database, cache, message etc. should be installed, refer configurations for more details.
    • For demo, all services will be deployed in Kubernetes.
    Configurations

    For production, you cat set enable to false to disable middle services in configuration file configs/configs.yml . refer to notes in configuration file for more details.

     vim configs/configs.yml
        #Middleware Services 中间件服务
        mysql:
          enabled: true
          rootPassword: qxp1234     #It is required to set the root user password if enabled equal to true    设置root用户密码 enabled为true时必填
        redis:
          enabled: true
          password: cXhwMTIzNA==    #The password here is the base64 code of the password. For example, the base64 code of qxp1234 is cxhwmjm0cg==  这里的password为密码的base64编码,比如qxp1234的base64编码为cXhwMjM0Cg==
        kafka:
                  .....
    Installation

    Run installApp to install the trial version:

    ./installApp start -k ~/.kube/config  -i -n lowcode

    Parameters description:

    parameter purpose Description
    -c/--configfile relative or absolute path of the configuration file Indicates the absolute or relative path of the current project configs / configs.yml
    -d/--deploymentFile absolute or relative path of deployment folder absolute or relative path to the current project deployment folder
    -k/--kubeconfig the profile path than can access to k8s cluster If the file is in the default location ~ /. Kube / config, you can not specify this parameter.
    -i/--middlerwareInit middleware initialization If specified, perform middleware initialization.
    -n/--namespace The namespace in which the service is deployed in the k8s cluster If not specified, the default namespace is default.
    Uninstall
    ./installApp uninstall -k ~/.kube/config -n lowcode

    Parameters description:

    parameter purpose Description
    -d/--deploymentFile The path to the deployment folder Absolute or relative path to the current project deployment folder.
    -k/--kubeconfig the profile path than can access to k8s cluster If the file is in the default location ~ /. Kube / config, you can not specify this parameter.
    -n/--namespace The namespace in which the service is deployed in the k8s cluster If not specified, the default namespace is default.
    -u/--uninstallMiddlerware Do you need to uninstall the middleware deployed by the tool If there is no middleware deployed using this tool, you can not add this parameter. When the middleware is loaded and unloaded, it will be reported that there is no such resource and can be ignored.

    How to access

    Configure gateway

    Refer KubeSphere official documentation to configure gateway. LoadBalancer is recommend.

    Access QuanXiang

    To access QuanxiangCloud console, you should configure your hosts file or add dns records into dns server. Use default admin user and password Admin@Admin.com)/654321a.. to login.

    Notice

    Refer KubeSphere office documentation to customize the domain.

    💸 Installing on a native KuberNetes environment

    Coming soon.

    Get Started using QuanXiang

    See our Getting Started guide over in our docs.

    Interaction

    About

    QuanXiang is a powerful, pluggable open source low-code platform used to assist in building various types of digital applications for enterprises.

    https://www.quanxiang.dev/

    License:Apache License 2.0


    Languages

    Language:Mustache 58.6%Language:Go 26.8%Language:PLpgSQL 7.4%Language:Makefile 3.1%Language:Shell 2.4%Language:Smarty 1.8%