GitHub 上 Stars 数量最多的 8 个开源 CRUD 项目

news2024/9/21 21:44:35

继续我们的 GitHub Star 系列!这是本系列的第四篇文章,之前的内容:

  1. GitHub Star 数量前 12 的开源无代码工具
  2. GitHub Star 数量前 15 的开源低代码项目
  3. GitHub Star 数量前 11 的开源内部工具

本期我们来盘点 CRUD 项目。在软件开发中,CRUD(创建、读取、更新、删除)是基本的数据操作,它们构成了大多数应用程序与数据交互的核心。

(如果你对这个概念还不太熟悉,推荐阅读:如何构建高效的 CRUD 应用程序?)

今天这篇文章我会向大家介绍这些在 GitHub 上的 CRUD 项目,从它们的受欢迎程度和功能性展开,帮助大家了解各种项目如何提升软件开发的效率!

先来看一个快速排名:

名次项目Stars
1Appsmith27.2k
2Refine27.2k
3APIJSON17.1k
4NocoBase11.7k
5Library (DDD by Examples)4.7k
6Flask-AppBuilder4.6k
7CRUD (Nestjsx)4k
8PHP-CRUD-API3.6k

接下来,让我们正式开始吧!

Let’s get started!.png

Appsmith (32.9k stars)

Appsmith.png

GitHubhttps://github.com/appsmithorg/appsmith
GitHub Star 数32.9k
GitHub 最近一次更新时间当天
开源协议Apache 2.0
今年的活跃提交者数量49
是否接受外部 PR
官网https://www.appsmith.com/
文档https://docs.appsmith.com/

Appsmith 是一个开源平台,专门用于构建管理员面板、内部工具和仪表盘。它与超过25种数据库和各种API集成,支持从数据源到前端的快速应用构建。

主要特点

  • 快速生成 CRUD 应用:Appsmith 可以通过简单的点击操作,自动为任何数据库生成 CRUD 界面,极大地简化了数据库应用的开发过程。
  • 灵活的前端定制:提供了丰富的组件库,支持拖拽操作,用户可以不需要前端开发技能即可定制应用界面。
  • 编写 JavaScript 进行扩展:用户可以在组件属性中编写 JavaScript 代码,进行更复杂的功能定制和动态数据更新。

应用场景

  • 内部工具开发:快速开发企业内部需要的各种管理工具,如数据管理面板、客户支持仪表盘等。
  • 敏捷数据管理应用:对于需要频繁更新数据的业务场景,Appsmith可以提供快速响应和易于管理的解决方案。

Refine (27.2k stars)

Refine.png

GitHubhttps://github.com/refinedev/refine
GitHub Star 数27.2k
GitHub 最近一次更新时间当天
开源协议MIT
今年的活跃提交者数量19
是否接受外部 PR
官网https://refine.dev/
文档https://refine.dev/docs/

Refine 是一个基于 React 的元框架,专为 CRUD 重型的 Web 应用设计。它适用于企业内部工具、管理面板、仪表盘和 B2B 应用等多种用例。Refine 提供了无头架构支持,允许开发者将业务逻辑与用户界面和路由解耦,以实现高度定制化的应用程序。

主要特点

  • 无头架构:Refine 的无头架构支持与各种自定义设计或 UI 框架(如 Ant Design 和 Material UI)集成,同时兼容多种平台(如 Next.js 和 React Native),提供灵活的路由接口,无需额外设置。
  • 快速开发:Refine 提供一系列核心钩子和组件,简化了包括身份验证、访问控制、路由和状态管理在内的项目开发过程。
  • 定制化与扩展性:支持广泛的后端服务连接器,包括 REST 和 GraphQL API,以及对多种数据库的原生支持,使得开发者可以根据需要选择合适的技术栈。

应用场景

  • 企业内部工具:利用 Refine 构建企业内部的管理面板和工具,帮助简化数据管理和业务流程。
  • 数据密集型应用:Refine 特别适用于需要处理大量数据的企业 B2B 应用,例如客户关系管理(CRM)系统和电子商务后台。
  • 自定义企业应用:通过灵活的配置和扩展功能,Refine 允许企业根据特定需求定制应用,从而更好地支持业务操作。

APIJSON (17.1k stars)

APIJSON.png

GitHubhttps://github.com/Tencent/APIJSON
GitHub Star 数17.1k
GitHub 最近一次更新时间2天前
开源协议Apache 2.0
今年的活跃提交者数量6
是否接受外部PR
官网http://apijson.cn/
文档https://apijsondocs.readthedocs.io/en/latest/

APIJSON 是一个为 API 设计的基于 JSON 的通信协议和 ORM 库。它允许开发者通过定义 JSON 对象而非编写后端代码来自动生成后端接口和前端请求代码。APIJSON 特别适用于需要快速开发 API 的场景,通过减少前后端之间的沟通和 API 文档的编写工作,显著降低了开发成本。

主要特点

  • 自动化 CRUD 操作:APIJSON 提供强大的 CRUD(创建、读取、更新、删除)功能,支持通过简单的 JSON 配置来实现复杂的查询,包括联表查询、复杂的筛选条件等。
  • 安全性和灵活性:内置自动的权限验证和 SQL 注入防护机制,确保了 API 的安全。同时,APIJSON 支持版本管理,使得 API 的迭代不会影响现有系统。
  • 高效率的数据处理:支持单个请求获取多种资源和数据形式,减少了多次请求的需要,优化了数据交互的效率。

应用场景

  • 快速开发:适用于初创企业和中小企业快速构建原型和开发应用,特别是当项目需要快速迭代和频繁修改 API 时。
  • 内部工具:企业内部的管理系统、监控系统等,可以利用 APIJSON 快速搭建后台管理界面。
  • 教育与学习:由于 APIJSON 易于上手,它也适用于教育环境,帮助学生和初学者理解 API 的构建和使用。

NocoBase (11.7k stars)

NocoBase.png

GitHubhttps://github.com/nocobase/nocobase
GitHub Star 数11.7k
GitHub 最近一次更新时间当天
开源协议AGPL-3.0
今年的活跃提交者数量29
是否接受外部PR
官网https://www.nocobase.com/
文档https://docs.nocobase.com/

NocoBase 是一个高度可扩展的开源无代码/低代码平台,专为企业级业务应用和解决方案设计。从 CRUD(创建、读取、更新、删除)的角度来看,NocoBase 提供了强大的数据模型驱动方法,使其成为构建和管理复杂数据交互的理想选择。通过 NocoBase,企业可以快速部署具有复杂数据处理能力的应用,而无需深入后端开发,极大地提高了开发效率和系统的可扩展性。

主要特点

  • 灵活的数据建模:NocoBase 允许用户定义详细的数据模型,包括各种属性和关系,这些模型直接映射到数据库结构,支持高度定制化的 CRUD 操作。
  • 动态数据交互:通过所见即所得的界面,用户可以直接在前端配置和管理 CRUD 操作,无需编写后端代码。这包括添加、编辑、删除和查看数据记录。
  • 自动化和插件支持:NocoBase 的插件架构支持自动化工作流,如表单验证、数据处理和视图更新,进一步简化了 CRUD 过程。

应用场景

  • 内部管理系统:构建内部 CRM、项目管理系统等,支持复杂的数据管理和流程自动化。
  • 企业级应用:适用于需要频繁进行数据操作的企业应用,如客户数据管理、库存跟踪和订单处理。
  • 快速原型开发:快速验证业务想法和模型,特别适合需要快速迭代开发的创业环境。

Library (4.7k stars)

Library.png

GitHubhttps://github.com/ddd-by-examples/library
GitHub Star 数4.7k
GitHub 最近一次更新时间2年前
开源协议MIT
今年的活跃提交者数量0
是否接受外部PR
官网/
文档/

Library 实际上是一个实践示例,旨在帮助人们理解如何在真实世界中应用领域驱动设计(DDD)。Library 关注的是图书馆管理系统,类似于公共图书馆用来管理图书、读者、借阅和归还的系统。

项目使用模块化的单体架构,每个有界上下文分配到一个独立的包中,旨在通过丰富的领域逻辑和 CRUD 操作展示复杂的业务流程。这个项目不仅展示了如何构建复杂的业务逻辑,还通过实际代码展示了理论和实践之间的桥梁。

主要特点

  • 丰富的领域模型:Library项目通过领域模型来处理复杂的业务逻辑,例如图书借阅过程,这个过程使用了六边形架构(hexagonal architecture)来分离领域和应用逻辑。
  • CRUD 操作的灵活应用:如图书目录管理,项目应用了 CRUD 架构来处理相对简单的领域逻辑。
  • 事件驱动的一致性:Library 利用事件来管理聚合之间的通信,支持即时和最终一致性的选择,展示了如何通过领域事件接口来实现这些功能。

应用场景

  • 图书馆管理系统:管理图书的借阅、归还和保留等流程,适用于需要处理复杂业务逻辑和规则的系统。
  • 教育和研究:作为DDD实现的示例,适用于学术研究和教育培训,帮助理解领域驱动设计在实际应用中的细节和挑战。
  • 软件架构设计:为软件开发人员提供实际的架构设计经验,特别是在使用DDD和事件驱动架构方面。

Flask-AppBuilder (4.6k stars)

Flask-AppBuilder.png

GitHubhttps://github.com/dpgaspar/Flask-AppBuilder
GitHub Star 数4.6k
GitHub 最近一次更新时间2天前
开源协议BSD-3-Clause
今年的活跃提交者数量11
是否接受外部PR
官网/
文档https://flask-appbuilder.readthedocs.io/en/latest/

Flask-AppBuilder 是一个基于 Flask 的快速应用开发框架,特别强调安全性和自动化 CRUD 操作生成。这个框架通过简化后端开发流程,使得用户能快速从数据模型生成完整的 CRUD 接口,极大地加快了开发速度并降低了复杂性。

主要特点

  • 自动 CRUD 生成:Flask-AppBuilder 可以自动为您的数据模型生成 CRUD 页面和接口,包括表单和视图,从而简化了数据库操作的开发过程。
  • 安全性和认证:提供了细粒度的安全配置,支持多种认证方式如数据库、LDAP、OAuth等,并自动处理权限和角色管理。
  • 灵活的界面和组件:支持多种视图和组件,如图表、过滤器、日期选择器等,还有基于 Google Charts 的数据可视化功能。

应用场景

  • 企业内部系统:适用于需要快速开发企业内部管理系统,如人事、库存、财务等系统。
  • 数据管理应用:为需要复杂数据操作的应用提供强大的后台管理功能,如内容管理系统或客户关系管理系统。
  • 教育和培训:由于其简单易学的特性,非常适合用于教学目的,帮助学习者快速理解 Web 开发和数据库操作。

CRUD (Nestjsx) (4k stars)

CRUD (Nestjsx).png

GitHubhttps://github.com/nestjsx/crud
GitHub Star 数4k
GitHub 最近一次更新时间2年前
开源协议MIT
今年的活跃提交者数量0
是否接受外部PR
官网/
文档https://github.com/nestjsx/crud/wiki#why

CRUD (Nestjsx) 是一个基于 NestJS 框架的库,专为创建 RESTful API 而设计,提供了一套全面的 CRUD 功能。它使得开发者能够快速生成标准的 CRUD 操作接口,极大简化了 RESTful API 的开发过程。

CRUD (Nestjsx) 的设计目的是为了简化开发过程,通过提供一套标准化的方法来处理常见的数据操作任务,使得开发者可以将更多的精力投入到业务逻辑的实现上。

主要特点

  • 自动化 CRUD 生成:通过简单的装饰器,自动为数据模型生成完整的 CRUD 操作,包括创建、读取、更新和删除功能。
  • 灵活的查询解析:支持复杂的查询功能,如过滤、分页、排序以及与关系和嵌套关系的处理。
  • 服务和数据库无关性:可以与任何数据库或服务配合使用,提供扩展性强的 CRUD 控制器。
  • 丰富的配置选项:支持全局配置和验证,提供额外的帮助装饰器,简化开发流程。

应用场景

  • 企业级应用:适用于需要快速开发企业后端服务的场景,特别是那些需要严格遵守 RESTful 标准的项目。
  • 快速原型开发:可以迅速搭建原型,验证业务逻辑,加速开发周期。

PHP-CRUD-API (3.6k stars)

PHP-CRUD-API.png

GitHubhttps://github.com/mevdschee/php-crud-api
GitHub Star 数3.6k
GitHub 最近一次更新时间2个月前
开源协议MIT
今年的活跃提交者数量1
是否接受外部PR
官网/
文档/

PHP-CRUD-API 是一个单文件 PHP 脚本,通过简单的配置即可为 SQL 数据库添加一个完整的 REST API。它支持多种数据库系统,包括 MySQL/MariaDB, PostgreSQL, SQL Server, 和 SQLite,使其成为快速部署 API 的理想选择。

PHP-CRUD-API 提供了一种高效的方式来创建和管理数据库驱动的 REST API,无需编写大量的后端代码,是快速开发 Web 应用的有效工具。

主要特点

  • 单文件部署:整个 API 通过一个 PHP 文件运行,无需复杂的安装或配置。
  • 支持多数据库:与多种数据库兼容,通过简单的配置即可连接到不同类型的数据库。
  • 丰富的功能:支持 CRUD 操作,自动文档生成(OpenAPI),复杂查询,以及数据的权限管理。
  • 扩展性:支持中间件,自定义控制器,以及环境变量配置,可根据需求调整和扩展功能。

应用场景

  • 快速原型开发:对于需要快速验证数据驱动应用的开发者,可以在短时间内部署并测试其 API。
  • 小型项目:适用于小型或中型项目,需要快速且简单的后端解决方案。

总结

如果这些 CRUD 项目中的任何一个符合你的需求,请进一步探索和尝试使用它们!通过实际应用,你将更好地了解它们如何具体地优化和简化开发流程。

  • AppsmithRefine 通过其丰富的组件和灵活的数据管理,特别适合快速构建内部工具和管理面板。
  • APIJSON 提供了一种几乎无需编码的方式来快速开发和迭代 API,非常适合需要快速验证概念的初创公司和开发者。
  • NocoBase 则通过其数据模型驱动的方法,为复杂的企业级应用提供了强大的后台支持。

这些工具不仅适应了各种规模的项目需求,从小型项目到大型企业应用,还通过其开源的特性,提供了高度的定制性和扩展性。无论您是寻找一个可以快速部署的解决方案,还是需要一个可以深度定制的平台,这些 CRUD 项目都值得进一步探索!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2107051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爬虫练习(猫眼电影解密)

问题 随便拿一篇电影做样例。我们发现猫眼的页面数据在预览窗口中全是小方框。在当我们拿到源码以后,数据全是加密后的。所以我们需要想办法破解加密,拿到数据。 破解过程 1.源码获取问题与破解 分析 在我们刚刚请求url的时候是可以得到数据的&#xff…

[Linux] 操作系统 入门详解

标题:[Linux] 操作系统 水墨不写bug 目录 一、冯 . 诺依曼体系结构 1.冯诺依曼体系结构简介 2.对冯诺依曼体系结构的理解 二、操作系统定位 1.为什么需要操作系统? 2.操作系统是什么? 三、系统调用和库函数 正文开始: …

可交互、会学习、自成长机器人——李德毅院士

在以“农业无人农场”为主题的中国工程科技论坛上,中国工程院院士、欧亚科学院院士、中国人工智能学会和中国指挥与控制学会名誉理事长,中科原动力首席科学家李德毅院士应邀做题为《机器具身交互智能》的演讲。李德毅院士表示,智能机器不但把…

CentOS7单机环境安装k8s集群

目录 1、环境准备 2、安装依赖工具 3、配置 Kubernetes 的国内 Yum 源 4. 安装 Kubernetes 组件 5、初始化 Kubernetes 集群 1. 容器运行时没有正常运行 1.1. 可能的原因 1.2. 解决办法 2. 初始化拉取镜像卡住 2.1. 使用国内的镜像源(无法解决问题&#x…

机器学习之监督学习(二)二元逻辑回归

机器学习之监督学习(二)逻辑回归(二元分类问题) 1. 分类 classification2.二元分类逻辑回归 binary-classified logistic regression模块1: sigmoid 激活函数 sigmoid function模型公式模块2: 决策边界 decision boundary代价函数梯度下降欠拟…

【Redis】Redis 主从复制原理与配置详解:解决单点故障与性能瓶颈的最佳方案

目录 主从复制配置建立复制断开复制安全性只读传输延迟 拓扑⼀主⼀从结构一主多从结构树形主从结构 原理复制过程数据同步 psync全量复制部分复制实时复制 小结 主从复制 这部分相关操作不需要记忆!!! 后续⼯作中如果⽤到了能查到即可. 重点理解流程和原理. 单点问题&#xff1…

onvif应用--IPC鉴权(认证)

一、鉴权原理 1)onvif的用户验证,是基于WS_UsernameToken,所谓的WS_UsernameToken加密,就是将用户名、密码、Nonce、Created都包含在了header里面 参数 意义 username待认证的用户名Nonce客户端随机产生的字符串Created请求认证…

arXiv风评被害?

arXiv “风评被害”? arXiv是一个在学术界具有重要影响力的开放预印本论文网站,自三十多年前创立以来,它已经成为了物理学、计算机科学、统计学等科学论文最重要的发布平台之一,同时也是众多科研人员分享和交流研究成果的重要渠道…

单片机工程师:创新与挑战之路

摘要:本文全面深入地探讨了单片机工程师这一职业角色。详细阐述了单片机工程师的职责范围、所需技能,包括硬件设计、软件编程、调试与测试等方面。分析了单片机在不同领域的应用,如工业控制、消费电子、智能家居等。同时,探讨了单…

【计算机组成原理】计算机系统的基本组成

文章目录 计算机硬件的基本组成早期的冯诺依曼机冯诺依曼结构冯诺依曼机的特点 现代计算机现代计算机的结构 各硬件的工作原理主存储器主存储器的基本组成 运算器运算器的基本组成 控制器控制器的基本组成 计算机软件 计算机硬件的基本组成 早期的冯诺依曼机 冯诺依曼在研究 …

图纸文件怎么加密?2024六款图纸加密软件推荐,个个好用不踩雷!

想象一下,公司的设计图纸被无意间泄露,结果对手提前推出了相似的产品。为了避免这种令人头疼的情况发生,图纸加密就显得尤为重要。 别担心,今天我们就带你了解2024年六款超好用的图纸加密软件,让你的图纸“安全感”爆…

业务复杂度治理方法论--十年系统设计经验总结

一、复杂度综述 1、什么是复杂度 软件设计的核心在于降低复杂性。 --《软件设计的哲学》 业界对于复杂度并没有统一的定义,斯坦福教授John Ousterhout从认知负担和工作量方面给出了一个复杂度量公式   子模块的复杂度cp乘…

快充协议方案的工作原理及场景应用

快充协议芯片是支持各种快充快充协议的芯片,它们能智能识别插入的设备类型,并根据设备的需求调整充电电压和电流,从而实现快速充电。 XSP08Q芯片是内置快充功能的协议芯片,它基于先进的充电技术,通过协商电压和电流&a…

【数据结构】二叉树顺序存储结构堆的应用以及解决TOP-K问题

文章目录 前言1. 堆的应用1.1 堆排序1.2 TOP-K问题 2. 结语 前言 前面我们学习了堆这个数据结构,这种数据结构是一种顺序结构存储的完全二叉树,现在我们来看一看堆的应用。 1. 堆的应用 1.1 堆排序 版本一:基于已有数组建堆、取堆顶元素完…

Linux CentOS 部署Docker

1. yum 配置 (1)更新yum yum update -y 如果不升级更新yum 可能在后续docker部署后再更新容器会出现oci runtime error等 (2)安装yum工具类准备 yum install -y yum-utils device-mapper-persistent-data lvm2 (3&…

不再为存储‘分家’烦恼,teamOS让你的数据全家桶,一键即达

在数字化浪潮下,数据管理已成为企业运营的核心环节。作为企业管理者,我深知数据的重要性,也明白数据管理所面临的种种挑战。 最近开始使用企业网盘,在体验了一段时间后,目前来说,让我比较满意的就是可道云…

C盘红了怎么办?C盘快满了怎么办?如何提高电脑运行速度?

在电脑的日常使用中,C盘红了(也就是C盘满了),那是常有的事,本文将详述一下,C盘红了之后的多种处理方法,只要你看完了,就必有一款适合你。 一、系统自带的磁盘清理 当你的C盘红了&…

vue3 置空a-select数据

置空a-select数据 项目中遇到需求&#xff0c;选择第一个下拉框后&#xff0c;发请求获取数据第二个下拉框数据&#xff08;第二个下拉框已选的情况下需要置空&#xff09;。 解决方法&#xff1a;formData.value.checkUser {value: “” ,label:“”} <a-col :span"…

Win32中的字符串

ANSI字符和Unicode字符 在Visual C中&#xff0c;用CHAR来表示8位ANSI字符&#xff0c;用WCHAR来表示16位Unicode字符&#xff08;宽字符&#xff09; 1 typedef char CHAR 2 typedef wchar_t WCHAR 一般常用的定义如下 TypedefDefinitionCHARcharPSTR or LPSTRchar*PCSTR o…

一个跨平台的换源工具,一键更换操作系统上的软件源或镜像源

大家好&#xff0c;今天给大家分享的是一个全平台通用换源工具chsrc&#xff0c;旨在为各种软件在不同平台上提供从命令行进行换源的功能。 项目介绍 chsrc支持 Linux&#xff08;包括麒麟、openEuler、deepin 等&#xff09;、Windows、macOS、BSD 等多种操作系统&#xff0c…