开源低代码平台Openblocks

网友
Hank·Meng想看低代码工具,正好手上有一个;
什么是 Openblocks ?
Openblocks是一个开发人员友好的开源低代码平台,可在几分钟内构建内部应用程序。
传统上,构建内部应用程序需要复杂的前端和后端交互,涉及数百行和数千行代码,更不用说打包、集成和部署工作了。Openblocks 显著减少了构建应用程序所需的工作。
在 Openblocks 中,您所需要做的就是将预构建或自定义的组件以及可随时连接的数据库和 API 拖放到所见即所得 (WYSIWYG) 画布上,Openblocks 帮助您快速构建应用程序并专注于业务逻辑。
构建内部应用程序基本上需要 5 个步骤:
- 快速连接到您的数据源,包括
PostgreSQL、MongoDB和在线API。 - 编写几行
SQL或设置请求参数来构建查询。 - 使用预构建或用户自定义的
UI组件来构建应用程序UI,使用UI组件绑定和显示查询数据。 - 设置事件处理程序以触发查询、控制组件或其他操作以响应用户交互。
- 预览并与其他人分享您的应用程序。

安装
在群晖上以 Docker 方式安装。
在注册表中搜索 openblocksdev ,选择第一个 openblocksdev/openblocks-ce,版本选择 latest。
本文写作时,
latest版本对应为1.1.8;这是一个all in one的版本,里面包含了数据库及前后端服务,非常适合于功能体验;

卷
在 docker 文件夹中,创建一个新文件夹 openblocks,并在其中建一个子文件夹 stacks
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/openblocks/stacks | /openblocks-stacks | 存放数据库、日志等 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
3042 | 3000 |

环境
老苏没使用环境变量。关于环境变量的说明,请参考官方文档:https://github.com/openblocks-dev/openblocks/blob/develop/deploy/docker/README.md#configuration
命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 openblocks 和 子目录
mkdir -p /volume1/docker/openblocks/stacks# 进入 openblocks 目录
cd /volume1/docker/openblocks# 运行容器
docker run -d \--restart unless-stopped \--name openblocks \-p 3042:3000 \-v $(pwd)/stacks:/openblocks-stacks \openblocksdev/openblocks-ce:latest
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version: '3'services:openblocks:image: openblocksdev/openblocks-ce:latestcontainer_name: openblocksrestart: unless-stoppedports:- 3042:3000volumes:- ./stacks:/openblocks-stacks
然后执行下面的命令
# 新建文件夹 openblocks 和 子目录
mkdir -p /volume1/docker/openblocks/stacks# 进入 openblocks 目录
cd /volume1/docker/openblocks# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:3042 就能看到登录界面

第一次需要注册账号

主界面

新建应用

简单的拖拖拉拉之后,就搭出了一个登录界面

当然这只是界面,还需要绑定数据库,来实现业务,除了数据库之外,也支持在线 API

具体用法可以看看官方文档,还是比较详细的:https://docs.openblocks.dev,
虽然老苏不会开发,但用来做原型设计也是不错的。不过需要注意的是,似乎目前的代码更新已经不是很积极,不清楚是在憋大招还是程序员跑路了呢? 😂
参考文档
openblocks-dev/openblocks: 🔥 🔥 🔥 The Open Source Retool Alternative
地址:https://github.com/openblocks-dev/openblocks/
Openblocks - Open-source low code platform
地址:https://openblocks.dev/
Self-hosting - Openblocks Docs
地址:https://docs.openblocks.dev/self-hosting
相关文章:
开源低代码平台Openblocks
网友 HankMeng 想看低代码工具,正好手上有一个; 什么是 Openblocks ? Openblocks 是一个开发人员友好的开源低代码平台,可在几分钟内构建内部应用程序。 传统上,构建内部应用程序需要复杂的前端和后端交互,…...
每日汇评:黄金在 200 日移动平均线附近似乎很脆弱,关注美国零售销售
1、金价预计将巩固其近期跌势,至 6 月初以来的最低水平; 2、对美联储再次加息的押注继续限制了贵金属的上涨; 3、金融市场现在期待美国零售销售报告带来一些有意义的推动; 周二金价难以获得任何有意义的牵引力,并在…...
DFT笔记 DC/AC mode与Func
DFT scan可以分为DC和AC两种,区别如下图 DC模式需要ate测试机台提供test clock时钟(最快100M),DFT工程师需要升级普通reg变成带si和so,se pin的reg,并插入扫描链(scan chain)&#x…...
docker核心操作
docker核心操作 1、docker安装(1)可选参数:(2)输出参数解释:2、docker镜像(1)拉取镜像:[https://www.docker.com/](https://www.docker.com/)3、运行docker镜像(1) 运行容器:(2) 挂载硬盘:4、docker容器的生命周期5.1、进入容器内部5.2、怎么解决Error: exec fai…...
《电路》基础知识入门学习笔记
文章目录: 一:电路模型和电路规律 1.电路概述 2.电路模型 3.基本电路物理量:电流、电压、电功率和能量 4.电流和电压的参考方向 5.电路元件—电阻 6. 电路元件—电压源和电流源 7.受控电源 8.基尔霍夫(后面都要用这个方法…...
什么是P2P?
P2P (Peer-to-Peer) 是一种分布式的网络架构,其中各个节点(通常被称为“peers”或“节点”)直接进行数据共享和交换,而无需依赖中央服务器。P2P 网络强调平等的参与和共享,每个节点既可以是数据的消费者(下…...
matlab RANSAC拟合多项式曲线
目录 一、功能概述1、算法概述2、主要函数3、参考文献二、代码实现三、结果展示四、参考链接本文由CSDN点云侠原创,原文链接。爬虫网站自重,把自己当个人。爬些不完整的误导别人有意思吗???? 一、功能概述 1、算法概述 使用RANSAC对点进行多项式拟合。...
微信小程序nfc指令异常记录
小程序nfc相关代码: readEvent(){wx.getNFCAdapter().startDiscovery({success:(res)>{console.log(--------------start--------)console.log(res);wx.getNFCAdapter().onDiscovered(callback>{console.log(------------onDiscovered----------)console.log(callback)…...
10 - 把间隔的几个commit整理成1个
查看所有文章链接:(更新中)GIT常用场景- 目录 文章目录 把间隔的几个commit整理成1个 把间隔的几个commit整理成1个...
关于 Eclipse 的一场 “三角关系”
上个世纪 90 年代,世界上的计算机要么不联网,要么在企业内部联网。但是,在互联网的概念下,计算机之间共享信息和资源的需求成为了必要。 1995 年 5 月,Java 横空出世。Java 的父亲是当时凭借 Solaris 操作系统风头正盛…...
koa 使用 Mongoose 查询数据
Mongosee 操作符koa 使用 Mongoose 进行 翻页查询koa 使用 Mongoose 进行 多条件查询 mongosee 操作符 在使用 Koa 和 Mongoose 进行数据库查询时,你可以使用以下常用的操作符来构建查询条件: $eq:等于 示例:{ field: { $eq: valu…...
前后端分离------后端创建笔记(10)用户修改
本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…...
K8S系列文章之 Docker安装使用Kafka
通过Docker拉取镜像的方式进行安装 照例先去DockerHub找一下镜像源,看下官方提供的基本操作(大部分时候官方教程比网上的要清晰一些,并且大部分教程可能也是翻译的官方的操作步骤,所以直接看官方的就行) 老实说Kafka…...
js如何获取字符串大小是几M
js如何获取字符串大小是几M 在JavaScript中,可以使用以下方法来获取字符串的大小(以字节为单位): function getStringSizeInBytes(str) {// 使用UTF-8编码计算字符串的字节长度let totalBytes new Blob([str]).size;// 将字节长…...
服务器托管中1U是什么意思?
U的概念 U是一种表示服务器外部尺寸的单位,是unit的缩略语。 1U4.44514.445cm 2U4.44528.89cm 4U4.445*413.335cm 在托管服务器时,服务商经常说的“1U”是外形满足EIA(美国电子工业协会)规格、厚度为4.445cm的产品,设…...
Golang自定义类型与类型别名
type myInt int32 与 type myInt int32,概念并不相同 自定义类型:type myInt int32 通过这种方式定义的类型是一个全新的类型,这个新类型与int32有相同的底层结构,但是却与int32类型不兼容。 type myInt int32var a int32 5 var…...
golang环境搭建
1. 下载、安装 wget -O go.tar.gz https://golang.google.cn/dl/go1.21.0.linux-amd64.tar.gz sudo rm -rf /usr/local/go && sudo tar -zxvf go.tar.gz -C /usr/local2.创建工作目录 cd mkdir -p go/{bin,pkg,src}3.添加环境变量 sudo vim /etc/profile写入以下…...
一套优质的MES系统,应该具备哪些特质?
企业如何在众多的MES系统中,选择最合适自己的产品呢?也就是说,一套优质的MES,因该具备哪些特质呢?下面有SAP代理商哲讯智能科技详细介绍: 随着经济全球化趋势不断加强以及中美贸易战的愈演愈烈,…...
常见的路由协议之RIP协议与OSPF协议
目录 RIP OSPF 洪泛和广播的区别 路由协议是用于在网络中确定最佳路径的一组规则。它们主要用于在路由器之间交换路由信息,以便找到从源到目标的最佳路径。 常见的路由协议: RIP (Routing Information Protocol):RIP 是一种基于距离向量算…...
使用ip2region获取客户端地区
目录 从gitee拉取ip2region.xdb资源文件 写测试类 注意要写对资源路径 本地测试结果 编辑 远端测试结果 从gitee拉取ip2region.xdb资源文件 git clone https://gitee.com/lionsoul/ip2region.git 将xdb放入resources资源文件夹 引入依赖 <dependency><groupId&…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
