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

2024-09-05 14:28

本文主要是介绍GitHub 上 Stars 数量最多的 8 个开源 CRUD 项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

继续我们的 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 项目都值得进一步探索!

这篇关于GitHub 上 Stars 数量最多的 8 个开源 CRUD 项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139212

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

PTA求一批整数中出现最多的个位数字

作者 徐镜春 单位 浙江大学 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。 输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP