一飞开源,介绍创意、新奇、有趣、实用的免费开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
面向 DevOps 开发生命周期管理的企业低代码平台,全新支持 amis / Enterprise Low Code DevOps Platform, Open source alterative to Salesforce Developer Experience (DX).
华炎魔方是 Salesforce Developer Experience (DX) 的开源替代方案,遵循低代码协议,将低代码技术与 DevOps 工具 结合,实现敏捷开发的新高度。
二、开源协议
使用MIT开源协议
三、界面展示
四、功能概述
华炎魔方(开源社区版)功能
华炎魔方开源社区版基于MIT协议,包含开发工具的所有必备功能,不限制用户数。基于华炎魔方开发的软件包可以任意销售而无需支付授权费用。
- 创建自定义应用程序:华炎魔方基于元数据驱动,把传统通过代码实现的业务需求抽象为可配置的元数据 ,只需点击⿏标修改配置项,就能实现绝⼤多数业务需求,必要时仍可编写代码。
- 自定义字段: 基本字段类型、相关表、主表/子表、公式字段、累计汇总字段、自动编号字段。
- 权限引擎:华炎魔方基于权限集为每一个对象设置权限,支持公司级、记录级、字段级的权限控制。
- API引擎: 华炎魔方自动为业务对象生成 GraphQL API, API自带身份验证并于华炎魔方权限引擎集成,实现数据权限控制。
- 审批王:审批王是华炎自主研发的流程引擎,功能可媲美泛微且完全免费。系统内置了流程设计、流程运行、管理维护、统计分析与流程优化等各类工具,帮助企业快速部署、有效监控并持续优化业务审批过程。
- 报表:使用华炎魔方的可视化报表工具,您可以快速配置统计图表,包括数据列表、分组报表、数据透视图、柱状图、饼图等,方便查看、分析和决策。
- Dashboard: 连接第三方数据源,编写SQL语句,可视化设计各种统计图并汇总显示在仪表盘中。
- JsReport报表: 可视化编写代码,开发自定义报表。
- 自动化工具:系统内置了批准过程、工作流规则、验证规则等自动化工具,通过设定自动化工具,可以在特定条件下自动化创建和更新记录、发送邮件、短信或系统内通知,也可以自动调用第三方系统的接口。
- 数据导入: 根据对象字段,配置Excel导入模版,通过Excel将数据批量导入到华炎魔方中。
- 华炎魔方DX: 华炎魔方DX包含一组 Visual Studio Code 插件,帮助您将可视化界面定义的元数据导出为源码,您可以进一步编写代码,实现高级业务逻辑功能。你可以在熟悉的环境中开发、调试、打包、发布华炎魔方软件包,并管理您的项目版本。
- 软件包打包、发布
五、技术选型
基于元数据
元数据是华炎魔方技术架构的核心。华炎魔方使用元数据定义对象,字段,配置,代码,逻辑和页面布局,并基于这些元数据自动生成系统的数据结构以及Steedos应用程序的用户界面和自动化逻辑。
快速向导
部署华炎魔方平台
部署华炎魔方平台后,可以下载、安装和运行华炎魔方软件包,可以使用低代码可视化设计工具创建自定义应用程序。如需同步和编写代码,请参考后续步骤部署开发环境。
Gitpod 部署远程开发环境
无论是使用华炎魔方作为开发工具来开发项目,还是调试运行华炎魔方平台源码,都需要安装开发环境,我们推荐使用 Gitpod 来启动远程开发环境,以免去本地安装开发环境的繁琐过程。
远程开发环境已经安装并初始化好必须的组件,包括 nodejs, mongodb, redis, vscode 等,详情请参考教程 启动远程开发环境。
技术框架
服务端
华炎魔方服务端使用nodejs开发,您定义的元数据,和系统中录入的业务数据均保存在mongodb中。
- MongoDB 版本 >= 4.2, 华炎魔方使用 MongoDB 作为元数据仓库和默认数据源.
- Node.js 版本 >= 12。华炎魔方平台源码运行于 nodejs 环境。
- Meteor: 基于 Meteor 开发环境魔方元数据解释引擎(steedos-server)。
- Moleculer: 基于 Node.js 的响应式微服务框架。
- GraphQL: 华炎魔方自动为业务对象生成 GraphQL API。
- Lerna: 多包管理工具,用于管理和批量发布 npm 软件包。
前端
华炎魔方前端使用 React 开发表单、列表视图控件,并基于 Meteor 实现完整界面。
- Ant Design ProForm: 基于 ProForm 开发表单控件,根据自定义对象动态创建表单、操作业务数据。
- Salesforce Lightning Design System: Salesforce 开源的企业软件设计标准和样式库。React 控件库
- Tailwind CSS: 直接用class表述样式,而无需编写和维护css文件。
- AG Grid: 因为ProTable功能太弱,我们选择 AG Grid 构建列表视图控件。
- Redash: 引入Redash部分前端源码,开发查询设计器、图表设计器、仪表盘设计器。
- Mobx React Lite:基于Mobx React Lite实现华炎魔方的React Store。
源码目录索引
- Docs/Diagrams: 华炎魔方设计文档。
- Steedos Server: 华炎魔方最终打包运行的是一个Meteor项目,其源码都在该文件夹内。Meteor功能包: 这里每个文件夹都是华炎魔方Meteor项目依赖的各种功能包。
- Steedos Server Build: Creator项目源码最终打包编译生成的文件都在该文件夹内,最终会发布为 NPM 包在华炎魔方项目中引用即可。
- NPM Packages: 华炎魔方各种内核功能包,其内每个子文件夹都是一个标准的NPM包。Standard Objects: 内核标准对象的定义文件。
- Moleculer Services: 华炎魔方采用的是Moleculer微服务架构,这里存放的是各种微服务功能包,其内每个子文件夹都是一个标准的NPM包。
NPM Scripts说明
本项目主要提供以下可执行的脚本命令:
- bootstrap: 执行 lerna bootstrap 根据源码中各个NPM包中配置的依赖包建立它们之前的引用关系。
- build: 执行 lerna run prepare 根据源码中各个NPM包之前的依赖关系依次执行各个NPM包内 prepare 指令打包所有需要打包的NPM包。
- ver: 执行 lerna version 在发版本前把源码中所有需要发包的NPM包的版本号统一升级到下一个指定版本。
- pub: 执行 lerna publish 把源码中所有需要发包的NPM包发布正式版到 NPM仓库 中。
- pub_next: 执行 lerna publish 把源码中所有需要发包的NPM包发布测试版到 NPM仓库 中。
脚本具体内容请查阅 package.json 文件中的 scripts 属性。
六、源码地址
访问一飞开源:https://code.exmay.com/