Quickstarters
CRUD Samples

How to Build a Basic CRUD App with Riot.js: A Step-by-Step Guide

40min

概要

このガイドでは、Riot.jsを使用してCRUD(作成、読み取り、更新、削除)アプリケーションを作成する方法を学びます。

バックエンドとして機能する「Basic-CRUD-App-RiotJS」という名前のBack4appプロジェクトの設定を行い、その後Riot.jsフロントエンドと統合します。

このチュートリアルでは、データベーススキーマの設計やBack4app Admin Appを使用したデータ管理から、SDK(該当する場合)またはREST/GraphQL API呼び出しを使用したフロントエンドの統合まで、すべてをカバーします。

最後には、ユーザー認証と安全なデータ処理を備えた完全に機能する、商用利用可能なWebアプリケーションが完成します。

主な利点

  • スケーラブルなバックエンドシステムを使用してCRUD操作をマスターします。
  • Riot.jsフロントエンドとBack4appの統合に関する洞察を得ます。
  • 直感的なBack4app Admin Appを利用して、データ管理を簡単に行います。
  • Dockerコンテナ化を含むデプロイメント戦略を学びます。


前提条件

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

  • 新しいプロジェクトを持つBack4appアカウント。 ガイダンスについては、Back4appの始め方を参照してください。
  • Riot.jsの開発環境。 Riot CLIを使用するか、スクリプトタグを介してRiotを含めることができます。Node.js(v14以降)がインストールされていることを確認してください。
  • JavaScript、Riot.js、およびREST APIの基本的な知識。 必要に応じて、Riot.jsのドキュメントを参照して追加の洞察を得てください。


ステップ1 – プロジェクトの初期化

Back4appプロジェクトの作成

  1. Back4appアカウントにサインインします。
  2. ダッシュボードで「新しいアプリ」をクリックします。
  3. プロジェクトに名前を付けます: Basic-CRUD-App-RiotJS として、セットアップ手順に従います。
新しいプロジェクトを作成


あなたのプロジェクトは、アプリケーションのデータのバックボーンとして、Back4appダッシュボードに表示されます。



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

データモデルの作成

CRUDアプリケーションのために、複数のコレクションを定義します。以下は、効率的なCRUD操作のためにデータベースを構造化するのに役立つサンプルコレクションとフィールドです。

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

このコレクションは、各アイテムの詳細を保持します。

フィールド

タイプ

説明

_id

オブジェクトID

自動生成された一意の識別子。

タイトル

文字列

アイテムタイトル。

説明

文字列

簡単なアイテムの説明。

作成日時

日付

アイテムが追加されたタイムスタンプ。

更新日時

日付

アイテムが変更されたタイムスタンプ。

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

このコレクションにはユーザーの詳細と認証情報が含まれています。

フィールド

タイプ

説明

_id

オブジェクトID

自動生成された一意の識別子。

ユーザー名

文字列

ユニークなユーザー名。

メール

文字列

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

パスワードハッシュ

文字列

暗号化されたパスワード。

作成日時

日付

アカウント作成のタイムスタンプ。

更新日時

日付

最後のアカウント更新タイムスタンプ。

これらのコレクションは、Back4appダッシュボードで新しいクラスを作成し、列を定義することで手動で構成できます。

新しいクラスを作成


フィールドを追加するには、データ型を選択し、名前を割り当て、デフォルトを設定し、フィールドが必須かどうかをマークします。

カラムを作成


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

ダッシュボードからアクセスできるBack4app AIエージェントは、必要なコレクションとフィールドを説明する詳細なプロンプトを処理することで、スキーマを自動的に生成できます。

AIエージェントの使用:

  1. AIエージェントを開く: プロジェクト設定またはメニューで見つけてください。
  2. データモデルを入力: コレクションとそのフィールドを概説するプロンプトを貼り付けてください。
  3. レビューと確認: 生成されたスキーマを検証し、プロジェクトに適用します。

サンプルプロンプト

Text


このツールはプロセスを迅速化し、一貫したスキーマ設定を保証します。



ステップ 3 – 管理アプリの有効化と CRUD アクション

管理アプリの概要

Back4app 管理アプリは、ノーコードのドラッグアンドドロップインターフェースを提供し、バックエンド管理を簡単に行えるようにし、CRUD 操作を迅速に実行できます。

管理アプリの有効化

  1. 「その他」メニューを開く あなたの Back4app ダッシュボードで。
  2. 「管理アプリ」を選択し、「管理アプリを有効にする」をクリックします。
  3. 管理アカウントを設定する 初期管理ユーザーを作成することで、デフォルトの役割も設定されます。
管理アプリを有効にする


有効にしたら、Admin Appにログインしてバックエンドデータを管理します。

Admin App ダッシュボード


Admin Appを通じてCRUD操作を実行する

このインターフェース内で、あなたは:

  • レコードを追加する: コレクション内の「レコードを追加」ボタン(例:アイテム)を使用して新しいエントリを作成します。
  • レコードを編集する: 任意のレコードをクリックして、その詳細を表示および修正します。
  • レコードを削除する: もはや必要のないレコードを削除します。

このツールは、データ管理のためのシンプルなインターフェースを提供することで、ワークフローを効率化します。



ステップ 4 – Riot.js を Back4app に接続する

バックエンドが設定されたので、Riot.js フロントエンドを Back4app に接続する時が来ました。

オプション A: Parse SDK を使用する

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

    Bash
    
  2. Riot.js プロジェクトで Parse を初期化する: ファイルを作成します (例: src/parseConfig.js):
JS

  1. Riot タグで Parse を使用する: Riot タグを作成します (例: items.riot) でアイテムを取得して表示します:
HTML


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

Parse SDKが不適切な場合、API呼び出しを介してCRUD操作を実行します。たとえば、RESTを使用してアイテムを取得するには:

JS


必要に応じて、これらのAPI呼び出しをRiot.jsタグ内に統合します。



ステップ5 – バックエンドの保護

アクセス制御リスト(ACL)の設定

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

JS


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

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



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

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

Riot.jsアプリケーションは、Back4appの組み込みParse Userクラスを使用してユーザー登録とログインを処理できます。以下は、ユーザーサインアップのためのRiotタグの例です:

HTML


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



ステップ7 – Riot.js フロントエンドのデプロイ

Back4appのWebデプロイ機能を使用すると、GitHubリポジトリをリンクすることでRiot.jsアプリをホストできます。プロダクションビルドをデプロイするための手順は次のとおりです:

7.1 プロダクションファイルをビルドする

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

    Bash
    

    これにより、最適化された静的ファイル(HTML、JS、CSS、画像)を含む build フォルダーが作成されます。

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


7.2 コードを整理してGitHubにプッシュする

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

Text


例: src/parseConfig.js

JS


例: src/app.riot

HTML


コードをコミットしてプッシュする

  1. Git リポジトリを初期化する(まだの場合):

    Bash
    
  2. ファイルを追加する:

    Bash
    
  3. 変更をコミットする:

    Bash
    
  4. GitHub リポジトリを作成する(例:Basic-CRUD-App-RiotJS-Frontend) そしてコードをプッシュする:

    Bash
    


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

  1. Webデプロイメントを開く: Back4appダッシュボードにサインインし、プロジェクト(Basic-CRUD-App-RiotJS)を選択し、Webデプロイメントをクリックします。
  2. GitHubに接続する: プロンプトに従って、GitHubアカウントとリポジトリをリンクします。
  3. リポジトリとブランチを選択する: リポジトリ(例: Basic-CRUD-App-RiotJS-Frontend)と適切なブランチ(例えば main)を選択します。


7.4 デプロイメント設定

  • ビルドコマンド: リポジトリに事前にビルドされた build フォルダーがない場合は、ビルドコマンドを指定してください(例: npm run build)。Back4appが実行します。
  • 出力ディレクトリ: 静的ファイルが存在する場所を示すために、これを build に設定してください。
  • 環境変数: APIキーなど、必要な変数を設定に含めてください。


7.5 Riot.jsアプリのDocker化(オプション)

コンテナ化されたデプロイメントを好む場合は、プロジェクトに Dockerfile を追加してください:

Dockerfile


このルートを選択した場合は、Webデプロイメント設定でDockerオプションを選択してください。



7.6 アプリケーションを起動する

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


7.7 デプロイを検証する

  1. URLを訪問: 提供されたURLをブラウザで開きます。
  2. アプリをテスト: すべてのルートとアセット(CSS、JavaScript、画像)が正しく機能していることを確認します。
  3. トラブルシュート: 問題が発生した場合は、ブラウザの開発者ツールとBack4appのログを使用します。


ステップ8 – まとめと今後の方向性

おめでとうございます!Riot.jsとBack4appを使用して、完全に機能するCRUDアプリを構築しました。

Basic-CRUD-App-RiotJS」というプロジェクトを設定し、アイテムとユーザーのための堅牢なデータベーススキーマを設計し、Admin Appでデータを管理しました。

Riot.jsのフロントエンドを統合し、ACLのようなセキュリティ対策を実装しました。

次のステップ:

  • フロントエンドを強化する: 詳細ビュー、検索機能、リアルタイム更新などの機能を追加します。
  • 機能を拡張する: Cloud Functionsなどの高度なバックエンド操作を探求するか、サードパーティのAPIを統合します。
  • 学びを深める: Back4appのドキュメントやその他のリソースを訪れて、アプリケーションを最適化し、拡張します。

これらのステップを経て、Riot.jsとBack4appを使用してスケーラブルなCRUDアプリケーションを構築する専門知識を持つことができました。コーディングを楽しんでください!