Quickstarters

ReactJSでCRUDアプリを作成する方法は?

39min

はじめに

このチュートリアルでは、ReactJSを使用して包括的なCRUD(作成、読み取り、更新、削除)アプリケーションを構築します。

このガイドは、CRUDアプリを構築する方法を示すことで、ソフトウェアアプリケーションの基本操作を実行するように設計されています。これにより、データを効果的に管理および更新できます。

まず、Basic-CRUD-App-ReactJSという名前のBack4appプロジェクトを作成し、構成します。これは、ウェブアプリケーションのための堅牢なバックエンドシステムとして機能します。

次に、詳細なコレクションとフィールドを定義することで、スケーラブルなデータベーススキーマを設計します。これは手動で行うことも、Back4app AIエージェントの助けを借りることもできます。

その後、Back4app Admin Appを活用します。これは、ドラッグアンドドロップインターフェースを持つユーザーフレンドリーな管理ツールで、コレクションのデータ管理を簡単に行えます。

この管理インターフェースはユーザーエクスペリエンスを向上させ、ユーザーインターフェースを簡素化し、ユーザーが迅速にCRUD操作を実行できるようにします。

最後に、ReactJSフロントエンドをデプロイし、REST/GraphQL(または利用可能な場合はParse SDK)を使用してBack4appと統合します。その際、先進的なアクセス制御でバックエンドを保護します。

このガイドの終わりまでに、基本的なCRUD操作をサポートするだけでなく、ユーザー認証と堅牢なデータ更新機能を含む、プロダクション準備が整ったWebアプリケーションを構築できるようになります。

主なポイント

  • 信頼性の高いデータベース管理システムを使用して、データを効率的に管理するCRUDアプリケーションの構築方法を学びます。
  • スケーラブルなバックエンドの設計と、それをReactJSフロントエンドと統合してユーザーエクスペリエンスを向上させるための実践的な洞察を得ます。
  • ドラッグアンドドロップ管理ツール(Back4app Admin App)を使用して、作成、読み取り、更新、削除操作を簡素化する方法を発見します。
  • Dockerコンテナ化を含むデプロイメント技術を理解し、Webアプリケーションを迅速に立ち上げる方法を学びます。


前提条件

始める前に、以下のものを用意してください:

  • Back4appアカウントと新しいプロジェクトの設定。 ヘルプが必要な場合は、 Back4appの始め方 を参照してください。
  • ReactJS開発環境。 Create React App または同様のツールを使用してください。Node.js(バージョン14以上)がインストールされていることを確認してください。
  • JavaScript、ReactJS、およびREST APIの基本的な理解。 必要に応じて、ReactJSのドキュメントを確認してください。


ステップ1 – プロジェクトのセットアップ

新しいBack4appプロジェクトの作成

  1. Back4appアカウントにログインします。
  2. ダッシュボードの「新しいアプリ」ボタンをクリックします
  3. プロジェクト名を入力します: Basic-CRUD-App-ReactJS とプロンプトに従ってプロジェクトを作成します。
新しいプロジェクトを作成
新しいプロジェクトを作成


作成が完了すると、新しいプロジェクトがBack4appダッシュボードに表示され、バックエンドの設定とプロジェクト管理のための堅固な基盤を提供します。



ステップ2 – データベーススキーマ設計

データモデルの設計

基本的なCRUDアプリのために、いくつかのコレクションを作成します。

以下は、データベーススキーマを効果的に設定するために必要なフィールドとデータ型を概説したコレクションのいくつかの例です。

これらのコレクションは、ユーザーがデータを作成、読み取り、更新、削除できる基本的なCRUD操作を実行するように設計されています。

1. アイテムコレクション

このコレクションは、各アイテムに関する情報を保存します。

フィールド

データ型

説明

_id

オブジェクトID

自動生成された主キー。

タイトル

文字列

アイテムのタイトル。

説明

文字列

アイテムの簡単な説明。

作成日時

日付

アイテムが作成されたタイムスタンプ。

更新日時

日付

アイテムが最後に更新されたタイムスタンプ。

2. ユーザーコレクション

このコレクションはユーザー情報と認証の詳細を保存します。

フィールド

データ型

説明

_id

オブジェクトID

自動生成された主キー。

ユーザー名

文字列

ユーザーのためのユニークなユーザー名。

メール

文字列

ユニークなメールアドレス。

パスワードハッシュ

文字列

認証のためのハッシュ化されたパスワード。

作成日時

日付

ユーザーアカウントが作成されたタイムスタンプ。

更新日時

日付

ユーザーアカウントが更新されたタイムスタンプ。

これらのコレクションは、Back4appダッシュボードで手動で設定できます。各コレクションの新しいクラスを作成し、フィールドを定義するための列を追加します。

新しいクラスを作成
新しいクラスを作成


データ型を選択し、フィールドに名前を付け、デフォルト値を設定し、必須かどうかを定義することで、データベースのフィールドを簡単に作成できます。

カラムを作成
カラムを作成



Back4app AIエージェントを使用したスキーマ生成

Back4app AIエージェントは、あなたのBack4appダッシュボードから直接利用できる強力なツールです。

プロンプトに基づいて、希望するコレクションとフィールドを説明することで、データベーススキーマを自動的に生成することができます。

この機能はプロジェクト管理において大幅な時間の節約となり、データベース管理システムがウェブアプリケーションに必要な基本操作を実行できるように設定されていることを保証します。

AIエージェントの使い方:

  1. AIエージェントを開く: Back4appダッシュボードにログインし、メニューまたはプロジェクト設定内でAIエージェントを見つけます。
  2. データモデルを説明する: AIエージェントのインターフェースに、必要なコレクションとフィールドを概説する詳細なプロンプトを貼り付けます。
  3. レビューと適用: 送信後、AIエージェントがコレクションとフィールド定義を生成します。これらの提案をレビューし、プロジェクトに適用します。

例のプロンプト

Text


このようにAIエージェントを使用することで、時間を節約し、スキーマが一貫しており、アプリケーションのニーズに最適化されていることを保証します。



ステップ 3 – 管理アプリの有効化とCRUD操作

管理アプリの概要

Back4app管理アプリは、バックエンドデータを管理するための強力なノーコードインターフェースです。

この管理ツールは、ユーザーがレコードの作成、読み取り、更新、削除などのCRUD操作を簡単に実行できるドラッグアンドドロップのユーザーインターフェースを提供します。

管理アプリの有効化

  1. 「その他」メニューに移動 あなたのBack4appダッシュボードで。
  2. 「管理アプリ」をクリック そして次に 「管理アプリを有効にする」。
  3. 管理者の資格情報を設定 最初の管理者ユーザーを作成することで。このプロセスでは、役割(例:B4aAdminUser) とシステムコレクションも設定されます。
管理アプリを有効にする
管理アプリを有効にする


有効化後、データを管理するために管理アプリにログインします。

管理アプリダッシュボード
管理アプリダッシュボード


管理アプリを使用したCRUD操作

管理アプリ内でできること:

  • レコードの作成: コレクション内の「レコードを追加」ボタンをクリックして、新しいエントリを作成します。
  • レコードの読み取り/更新: 任意のレコードを選択して、その詳細を表示したり、フィールドを編集して、スムーズなデータ更新を確保します。
  • レコードの削除: 削除オプションを使用して、もはや必要のないレコードを削除します。 この使いやすい管理ツールは、CRUD機能のためのシンプルなドラッグアンドドロップインターフェースを提供することで、全体的なユーザーエクスペリエンスを向上させます。


ステップ4 – ReactJSとBack4appの統合

バックエンドが設定され、管理アプリを通じて管理されているので、ReactJSフロントエンドをBack4appに接続する時が来ました。

オプションA: Parse SDKの使用

  1. Parse SDKをインストールする:

    Bash
    
  2. ReactアプリでParseを初期化する: ファイルを作成します(例: src/parseConfig.js):

    JS
    
  3. ReactコンポーネントでParseを使用する: 例えば、アイテムを取得して表示するコンポーネントを作成します:

    JS
    

オプションB: RESTまたはGraphQLの使用

環境がParse SDKをサポートしていない場合、RESTまたはGraphQLを使用してCRUD操作を実行できます。例えば、RESTを使用してアイテムを取得するには:

JS


必要に応じて、これらのAPI呼び出しをReactコンポーネントに統合してください。



ステップ 5 – バックエンドのセキュリティ

アクセス制御リスト (ACL)

オブジェクトにACLを割り当ててデータを保護します。たとえば、プライベートアイテムを作成するには:

JS


クラスレベルの権限 (CLP)

Back4appダッシュボードで、各コレクションのCLPを設定してデフォルトのアクセスルールを設定します。これにより、認証されたユーザーまたは権限のあるユーザーのみが機密データにアクセスできるようになります。



ステップ6 – ユーザー認証

ユーザーアカウントの設定

Back4appはParseのUserクラスを認証に利用します。あなたのReactアプリでは、ユーザー登録とログインを次のように処理します:

JS


ログインとセッション管理にも同様のアプローチを使用できます。ソーシャルログイン、メール確認、パスワードリセットなどの追加機能は、Back4appダッシュボードで設定できます。



ステップ7 – Webデプロイメントを使用したReactJSフロントエンドのデプロイ

Back4appのWebデプロイメント機能を使用すると、GitHubリポジトリからコードをデプロイすることで、ReactJSフロントエンドをシームレスにホストできます。

このセクションでは、プロダクションビルドの準備、ソースコードをGitHubにコミットする方法、リポジトリをWebデプロイメントに統合する方法、サイトをデプロイする方法を学びます。

7.1 プロダクションビルドの準備

  1. ターミナルでプロジェクトフォルダを開きます。
  2. ビルドコマンドを実行します:

    Bash
    

    このコマンドは、すべての最適化された静的ファイル(index.html, JavaScript, CSS, および画像を含む)を含む build フォルダを作成します。

  3. ビルドを確認します: build フォルダに必要なアセットのサブディレクトリとともに index.html ファイルが含まれていることを確認してください。


7.2 ソースコードを整理してアップロードする

リポジトリには、ReactJSフロントエンドの完全なソースコードが含まれている必要があります。典型的なファイル構造は次のようになります:

Text


サンプルソースコードファイル

src/parseConfig.js

JS


src/App.js

JS

  1. ソースファイルを追加します:

    Bash
    
  2. 変更をコミットします:

    Bash
    
  3. GitHubリポジトリを作成します: 例えば、GitHubに Basic-CRUD-App-ReactJS-Frontend という名前のリポジトリを作成します。
  4. コードをGitHubにプッシュします:

    Bash
    


7.3 GitHubリポジトリをWebデプロイメントに統合する

  1. Webデプロイメントにアクセスする: Back4appダッシュボードにログインし、プロジェクト(Basic-CRUD-App-ReactJS)に移動して、Webデプロイメント機能をクリックします。
  2. GitHubに接続する: まだ行っていない場合は、画面の指示に従ってGitHubアカウントを統合します。この接続により、Back4appがあなたのリポジトリにアクセスできるようになります。
  3. リポジトリとブランチを選択する: 作成したリポジトリ(例:Basic-CRUD-App-ReactJS-Frontend)を選択し、ReactJSコードを含むブランチ(例:main)を選択します。


7.4 デプロイメントの設定

追加の設定詳細を提供してください:

  • ビルドコマンド: リポジトリに事前にビルドされた build フォルダーが含まれていない場合は、ビルドコマンドを指定してください(例: npm run build)。Back4appはデプロイ中にこのコマンドを実行します。
  • 出力ディレクトリ: 出力ディレクトリを build に設定して、Back4appが静的サイトファイルを含むフォルダーを認識できるようにします。
  • 環境変数: アプリケーションが環境変数(例: APIキー)に依存している場合は、設定で追加してください。


7.5 ReactJSアプリケーションプロジェクトのDocker化

デプロイメントにDockerを使用することを好む場合は、ReactJSアプリケーションをコンテナ化できます。次のような内容の Dockerfile をリポジトリに含めてください:

Dockerfile


この Dockerfile をリポジトリに含めてください。次に、Webデプロイメントの設定で、Dockerデプロイメントオプションを選択して、コンテナ化されたアプリケーションをビルドおよびデプロイします。



7.6 アプリケーションをデプロイする

  1. デプロイボタンをクリックする: デプロイ設定を構成したら、 デプロイ ボタンをクリックします。
  2. ビルドプロセスを監視する: Back4appはGitHubからコードを取得し、ビルドコマンドを実行し(設定されている場合)、コンテナ内にアプリをデプロイします。
  3. URLを取得する: デプロイが完了すると、Back4appはReactJSアプリケーションがホストされているURLを提供します。


7.7 デプロイを確認する

  1. 提供されたURLにアクセスする: ウェブブラウザでURLを開いて、デプロイされたサイトを表示します。
  2. アプリケーションをテストする: アプリケーションが正しく読み込まれ、すべてのルートが期待通りに機能し、すべてのアセット(CSS、JavaScript、画像)が適切に提供されていることを確認します。
  3. 必要に応じてトラブルシューティングする: ブラウザの開発者ツールを使用してエラーを確認します。問題が発生した場合は、Back4appのデプロイメントログを確認し、GitHubの統合とビルド設定を確認します。


ステップ8 – 結論と次のステップ

おめでとうございます!あなたはReactJSとBack4appを使用して完全な基本CRUDアプリを構築しました。

Basic-CRUD-App-ReactJS」というプロジェクトを設定し、アイテムとユーザーのための詳細なデータベースコレクションを設計し、強力な管理アプリを通じてデータを管理しました。

また、ReactJSのフロントエンドをバックエンドと統合し、堅牢なアクセス制御でデータを保護しました。

次のステップ:

  • フロントエンドを強化する: 詳細なアイテムビュー、検索機能、リアルタイム通知などの機能を追加して、ReactJSアプリを拡張します。
  • 追加機能を統合する: より高度なバックエンドロジック(例:クラウドファンクション)、サードパーティAPI統合、または役割ベースのアクセス制御を追加することを検討してください。
  • さらなるリソースを探る:Back4appのドキュメント」や、パフォーマンス最適化やカスタム統合に関するより深いチュートリアルをレビューしてください。

このチュートリアルに従うことで、Back4appを使用してReactJSアプリケーションのための堅牢でスケーラブルなCRUDバックエンドを作成するスキルを身につけました。コーディングを楽しんでください!