QuanXiang is a powerful, pluggable open source low-code platform.
English| 中文
Website | Demo | Documentation | Guide | Community
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.
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
☁️ Cloud deployment operation and maintenance
🤖 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
🗂 System connectivity
🧩 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.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.
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)
- Kubernetes cluster environment v1.21.*
- OpenFunction v0.6.0
- 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 |
- Deploy Openfunction manully, refer office documentation
Notice
Scale nodes' resources to double and use PaaS that privode by cloud vendors, if you want to use QuanxiangCloud as production.
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.
You can download the release version directly. QuanXiang privodes various architecture package.
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.
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.
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:
.....
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. |
./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. |
Refer KubeSphere official documentation to configure gateway. LoadBalancer is recommend.
To access QuanxiangCloud console, you should configure your hosts file or add dns records into dns server. Use default admin user and password [email protected]/654321a..
to login.
- Go to http://portal.qxp.com to access QuanxiangCloud administration console.
- Go to http://home.qxp.com to access QuanxiangCloud client console.
Notice
Refer KubeSphere office documentation to customize the domain.
💸 Installing on a native KuberNetes environment
Coming soon.
See our Getting Started guide over in our docs.
Service | Function | Planned open source date |
---|---|---|
structor | It's a abstract layer between bussiness layer and database, that will make users easy to use database without database knowledge. | 2022/5/17 |
process | Process engine kernel: process model definition, process scheduling and instance data logging. | 2022/6/6 |
persona | Application Configuration Center: Application personalized configuration data storage. | 2022/7/1 |
kms | Key management: platform key management and signature verification, external key proxy and authentication. | To be determined |
- 🤖 Slack Channel
- 🙌 Forum