私たちの GitHub スター シリーズを続けます!これはシリーズの第 4 回目の記事です。以前の記事には次のものが含まれます:
- GitHub スター数の最も多い 12 のオープンソースノーコードツール
- GitHub スター数の最も多い 15 のオープンソースローコードプロジェクト
- GitHub スター数の最も多い 11 のオープンソース内部ツール
さて、CRUD プロジェクトをレビューしましょう。ソフトウェア開発において、CRUD (Create, Read, Update, Delete) は、ほとんどのアプリケーションのデータとのインタラクションの核心を形成する基本的なデータ操作です。
(この概念に不慣れな場合は、次を読むことをお勧めします:効率的なCRUDアプリケーションを構築する方法)
今日の記事では、GitHub のこれらの CRUD プロジェクトを紹介し、その人気と機能性に焦点を当て、さまざまなプロジェクトがソフトウェア開発の効率を向上させる方法を理解できるようにします!
最初に、ランキングを簡単に見てみましょう:
ランク | プロジェクト | スター |
---|---|---|
1 | Appsmith | 27.2k |
2 | Refine | 27.2k |
3 | APIJSON | 17.1k |
4 | NocoBase | 11.7k |
5 | Library (DDD by Examples) | 4.7k |
6 | Flask-AppBuilder | 4.6k |
7 | CRUD (Nestjsx) | 4k |
8 | PHP-CRUD-API | 3.6k |
それでは始めましょう!
Appsmith (32.9k スター)
GitHub | https://github.com/appsmithorg/appsmith |
---|---|
GitHub スター数 | 32.9k |
GitHub での最新の更新 | 1 日以内 |
オープンソースライセンス | 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 スター)
GitHub | https://github.com/refinedev/refine |
---|---|
GitHub スター数 | 27.2k |
GitHub での最新の更新 | 1 日以内 |
オープンソースライセンス | MIT |
今年のアクティブコントリビューター数 | 19 |
外部 PR の受け入れ | はい |
公式ウェブサイト | https://refine.dev/ |
ドキュメンテーション | https://refine.dev/docs/ |
Refine は CRUD が重視される Web アプリケーションのために設計された React ベースのメタフレームワークです。内部ツール、管理パネル、ダッシュボード、B2B アプリケーションなど、さまざまな使用例に適しています。Refine はヘッドレスアーキテクチャをサポートし、開発者がビジネスロジックをユーザーインターフェイスやルーティングから分離して高度にカスタマイズ可能なアプリケーションを作成できるようにします。
主要な機能
- ヘッドレスアーキテクチャ: Refine のヘッドレスアーキテクチャは、さまざまなカスタムデザインや UI フレームワーク(Ant Design や Material UI など)との統合をサポートし、Next.js や React Native などの複数のプラットフォームと互換性があり、追加の設定なしで柔軟なルーティングインターフェースを提供します。
- 迅速な開発: 認証、アクセス制御、ルーティング、状態管理を含むプロジェクト開発プロセスを簡素化するために、コアフックやコンポーネントを豊富に提供します。
- カスタマイズ性と拡張性: REST および GraphQL API を含む広範なバックエンドサービスコネクタをサポートし、さまざまなデータベースのネイティブサポートを提供し、開発者が適切な技術スタックを選択できるようにします。
使用例
- 企業内部ツール: 企業向けの管理パネルやツールを構築し、データ管理やビジネスプロセスを簡素化します。
- データ集約型アプリケーション: 大量のデータを処理する企業の B2B アプリケーションに特に適しています。
- カスタム企業アプリケーション: Refine は柔軟な構成と拡張を可能にし、企業が特定のニーズに応じてアプリケーションを調整できるようにします。
APIJSON (17.1k スター)
GitHub | https://github.com/Tencent/APIJSON |
---|---|
GitHub スター数 | 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 は、簡単な JSON 設定を使用して複雑なクエリをサポートする強力な CRUD 機能を提供します。
- セキュリティと柔軟性: 内蔵の自動権限検証および SQL インジェクション保護メカニズムにより、API のセキュリティが確保されています。
- 効率的なデータ処理: 複数のリソースやデータ形式を単一のリクエストで取得でき、複数のリクエストを減らし、データのやり取りの効率を最適化します。
使用例
- 迅速な開発: スタートアップや中小企業が迅速にプロトタイプを構築し、アプリケーションを開発するのに適しています。
- 内部ツール: 企業の管理システムや監視システムのためのバックエンド管理インターフェースを迅速に構築します。
- 教育と学習: 使いやすいため、API の構築と使用を理解するために、教育環境でも適しています。
NocoBase (11.7k スター)
GitHub | https://github.com/nocobase/nocobase |
---|---|
GitHub スター数 | 11.7k |
GitHub での最新の更新 | 1 日以内 |
オープンソースライセンス | AGPL-3.0 |
今年のアクティブコントリビューター数 | 29 |
外部 PR の受け入れ | はい |
公式ウェブサイト | https://www.nocobase.com/ |
ドキュメンテーション | https://docs.nocobase.com/ |
NocoBase は、企業向けのビジネスアプリケーションおよびソリューション用に設計された、高度に拡張可能なオープンソースのノーコード/ローコードプラットフォームです。CRUD の観点から、NocoBase は堅牢なデータモデル駆動アプローチを提供しており、複雑なデータインタラクションを構築および管理するのに最適です。
主要な機能
- 柔軟なデータモデリング: ユーザーは、さまざまな属性や関係を含む詳細なデータモデルを定義でき、これをデータベース構造に直接マッピングすることができ、高度にカスタマイズ可能な CRUD 操作をサポートします。
- 動的データインタラクション: ユーザーは WYSIWYG インターフェイスを通じて、バックエンドコードを必要とせずに CRUD 操作を直接構成および管理できます。
- 自動化とプラグインサポート: NocoBase のプラグインアーキテクチャは、フォームの検証、データ処理、ビューの更新などの自動化ワークフローをサポートし、CRUD プロセスをさらに簡素化します。
使用例
- 内部管理システム: 内部 CRM、プロジェクト管理システムなどを構築し、複雑なデータ管理とプロセスの自動化をサポートします。
- 企業アプリケーション: 顧客データ管理、在庫追跡、受注処理など、データ操作が頻繁に行われる企業アプリケーションに適しています。
- 迅速なプロトタイピング: ビジネスアイデアやモデルを迅速に検証し、特に迅速な反復と開発を必要とするスタートアップ環境に適しています。
Library (4.7k スター)
GitHub | https://github.com/ddd-by-examples/library |
---|---|
GitHub スター数 | 4.7k |
GitHub での最新の更新 | 2 年前 |
オープンソースライセンス | MIT |
今年のアクティブコントリビューター数 | 0 |
外部 PR の受け入れ | はい |
公式ウェブサイト | / |
ドキュメンテーション | / |
Library は、ドメイン駆動設計 (DDD) を実世界でどのように適用するかを理解するのに役立つ実用的な例です。Library は、公共図書館が本、読者、貸出、返却を管理するために使用するシステムに似た図書館管理システムに焦点を当てています。
プロジェクトはモジュラー単一アーキテクチャを使用しており、各バウンデッドコンテキストは別のパッケージに割り当てられ、豊富なドメインロジックと CRUD 操作を通じて複雑なビジネスプロセスを示しています。このプロジェクトは、複雑なビジネスロジックを構築する方法を示すだけでなく、理論と実践のギャップを実際のコードで埋めています。
主要な機能
- 豊かなドメインモデル: Library プロジェクトは、書籍の借用プロセスなどの複雑なビジネスロジックを処理するためにドメインモデルを使用し、ドメインとアプリケーションロジックを分離する六角アーキテクチャを利用しています。
- 柔軟な CRUD アプリケーション: 書籍カタログ管理において、プロジェクトは比較的単純なドメインロジックを処理するために CRUD アーキテクチャを適用しています。
- イベント駆動の整合性: Library は、集約間の通信を管理するためにイベントを使用し、即時および最終的な整合性オプションをサポートし、ドメインイベントインターフェースを介してこれらの機能を実現する方法を示しています。
使用例
- 図書館管理システム: 本の貸出、返却、予約などのプロセスを管理し、複雑なビジネスロジックやルールを扱うシステムに適しています。
- 教育と研究: DDD の実装例として、学術研究や教育訓練に適しており、実際のアプリケーションにおけるドメイン駆動設計の詳細と課題を理解するのに役立ちます。
- ソフトウェアアーキテクチャ設計: ソフトウェア開発者に実際のアーキテクチャ設計経験を提供し、特に DDD およびイベント駆動アーキテクチャを使用する際に有益です。
Flask-AppBuilder (4.6k スター)
GitHub | https://github.com/dpgaspar/Flask-AppBuilder |
---|---|
GitHub スター数 | 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 に基づくデータビジュアライゼーション機能を含む、さまざまなビューやコンポーネントをサポートします。
使用例
- 企業内部システム: 人事、在庫、財務システムなどの企業内部管理システムを迅速に開発するのに適しています。
- データ管理アプリケーション: 内容管理システムや顧客関係管理システムなど、複雑なデータ操作が必要なアプリケーションに強力なバックエンド管理機能を提供します。
- 教育と訓練: 簡単さと学習のしやすさから、教育目的での使用に最適です。
CRUD (Nestjsx) (4k スター)
GitHub | https://github.com/nestjsx/crud |
---|---|
GitHub スター数 | 4k |
GitHub での最新の更新 | 2 年前 |
オープンソースライセンス | MIT |
今年のアクティブコントリビューター数 | 0 |
外部 PR の受け入れ | はい |
公式ウェブサイト | / |
ドキュメンテーション | https://github.com/nestjsx/crud/wiki#why |
CRUD (Nestjsx) は、RESTful API を作成するために特に設計された NestJS フレームワークに基づいたライブラリで、包括的な CRUD 機能を提供します。開発者は、RESTful API の開発プロセスを大幅に簡素化し、標準の CRUD 操作インターフェイスを迅速に生成できます。
CRUD (Nestjsx) は、一般的なデータ操作を処理するための標準化されたアプローチを提供することで、開発プロセスを簡素化するように設計されています。
主要な機能
- 自動 CRUD 生成: シンプルなデコレーターを使用して、データモデルのために完全な CRUD 操作を自動的に生成します。
- 柔軟なクエリ解析: フィルタリング、ページング、ソート、および関係や入れ子の関係の処理など、複雑なクエリ機能をサポートします。
- サービスおよびデータベースの独立性: どのデータベースやサービスとも使用でき、高度に拡張可能な CRUD コントローラーを提供します。
- 豊富な設定オプション: グローバル設定と検証をサポートし、開発プロセスを簡素化するための追加のヘルパーデコレーターを提供します。
使用例
- エンタープライズレベルのアプリケーション: RESTful 標準の厳守が必要なプロジェクトに特に適しています。
- 迅速なプロトタイピング: プロトタイプを迅速に構築し、ビジネスロジックを検証し、開発サイクルを加速します。
PHP-CRUD-API (3.6k スター)
GitHub | https://github.com/mevdschee/php-crud-api |
---|---|
GitHub スター数 | 3.6k |
GitHub での最新の更新 | 2 か月前 |
オープンソースライセンス | MIT |
今年のアクティブコントリビューター数 | 1 |
外部 PR の受け入れ | はい |
公式ウェブサイト | / |
ドキュメンテーション | / |
PHP-CRUD-API は、シンプルな設定で SQL データベースに完全な REST API を追加する単一ファイルの PHP スクリプトです。MySQL/MariaDB、PostgreSQL、SQL Server、SQLite など、複数のデータベースシステムをサポートし、API を迅速に展開するのに理想的な選択肢です。
PHP-CRUD-API は、膨大なバックエンドコードを記述することなく、データベース駆動の REST API を作成および管理する効率的な方法を提供し、Web アプリケーションの迅速な開発に役立つ強力なツールです。
主要な機能
- 単一ファイル展開: API全体が単一のPHPファイルで実行され、複雑なインストールや設定は不要です。
- マルチデータベースサポート: 様々なデータベースに対応し、簡単な設定で異なるタイプのデータベースに接続します。
- 豊富な機能: CRUD 操作、オープンAPIによる自動文書生成、複雑なクエリ、データの権限管理をサポートします。
- 拡張性: ミドルウェア、カスタムコントローラー、環境変数の設定をサポートし、必要に応じて機能を調整および拡張できます。
使用例
- 迅速なプロトタイピング: データ駆動アプリケーションを迅速に検証したい開発者が短期間で API を展開し、テストできます。
- 小規模プロジェクト: 簡単で迅速なバックエンドソリューションが必要な小規模または中規模のプロジェクトに適しています。
まとめ
これらの CRUD プロジェクトのいずれかがニーズに合致する場合は、さらに探索して実験することをお勧めします! 実際のアプリケーションを通じて、どのように特定の開発プロセスを最適化および簡素化できるかをよりよく理解することができます。
- Appsmith と Refine は、豊富なコンポーネントと柔軟なデータ管理機能により、内部ツールや管理パネルを迅速に構築するのに特に適しています。
- APIJSON は、コードをほとんど書かずに迅速に API を開発および反復する方法を提供し、スタートアップや迅速な概念検証が必要な開発者に最適です。
- NocoBase は、そのデータモデル駆動アプローチにより、複雑な企業アプリケーションの強力なバックエンドサポートを提供します。
これらのツールは、さまざまなプロジェクトのニーズに対応し、小規模なプロジェクトから大規模な企業アプリケーションまで、オープンソースの特性を通じて高いカスタマイズ性と拡張性を提供します。迅速に展開できるソリューションを探している場合でも、深くカスタマイズできるプラットフォームを探している場合でも、これらの CRUD プロジェクトはさらに探求する価値があります!
関連文献: