Quickstarters
CRUD Samples
How to Create a CRUD Application with Ember.js?
33 分
はじめに このウォークスルーでは、ember jsを使用してシンプルなcrud(作成、読み取り、更新、削除)アプリケーションを構築する方法を学びます。 データを簡単に管理するために、バックエンドサービスとしてback4appを利用します。このガイドでは、crudシステムの基本的な操作をすべてカバーし、back4appプロジェクトの設定、動的データモデルの設計、ember jsアプリケーションへのcrud操作の統合方法を示します。 最初に、あなたのアプリのための信頼性のある非関係データストレージソリューションを提供する basic crud app ember という名前のback4appプロジェクトを作成します。モデルとフィールドを手動で設定するか、back4appのaiエージェントの助けを借りてデータ構造を定義します。 次に、データを簡単なドラッグアンドドロップ操作で管理できるノーコードインターフェースであるback4app admin appを探ります。最後に、api呼び出しを介してember jsアプリをback4appと統合し、その過程で安全なアクセス制御を実装します。 このチュートリアルの終わりまでには、すべてのcrud操作を実行できる、セキュアなユーザー認証と効果的なデータ管理を備えた、プロダクション準備完了のember jsアプリケーションを持つことができます。 主なポイント ember jsをベースにしたcrudアプリケーションを、堅牢なバックエンドプラットフォームで構築します。 ember jsフロントエンドとスケーラブルなバックエンドを構造化し、統合する方法を理解します。 back4appの直感的な管理アプリを使用して、作成、読み取り、更新、削除操作を簡単に実行します。 シームレスなアプリケーション配信のためのデプロイメント戦略、特にdockerコンテナ化について学びます。 前提条件 始める前に、以下を確認してください 新しく作成したプロジェクトを持つback4appアカウント。 助けが必要ですか? back4appの始め方 https //www back4app com/docs/get started/new parse app を訪れてください。 ember jsの開発環境。 ember cliをインストールし、 ember jsガイド https //guides emberjs com/release/ に従って環境を設定します。 ember js、javascript、およびrest apiに関する基本的な知識。 必要に応じてこれらのトピックを復習してください。 ステップ1 – プロジェクト設定 新しいback4appプロジェクトの開始 back4appアカウントにログインします。 ダッシュボードから「新しいアプリ」ボタンをクリックします。 プロジェクト名を設定します: basic crud app ember そして、プロジェクト設定を完了するための指示に従います。 新しいプロジェクトを作成 プロジェクトが作成されると、ダッシュボードに表示され、バックエンド構成の基盤となります。 ステップ2 – データモデルの設計 データモデルの構造化 このcrudアプリケーションでは、back4appプロジェクト内でいくつかのモデルを定義します。以下は、crud操作を実行するために必要なコアモデルとそのフィールドを概説する例です。 1\ アイテムモデル このモデルは各アイテムに関する情報を保存します。 フィールド データ型 説明 id オブジェクトid 自動生成された一意の識別子。 タイトル 文字列 アイテムの名前。 説明 文字列 アイテムの簡単な要約。 作成日時 日付 アイテムが追加された時刻のマーク。 更新日時 日付 最後の更新を示すタイムスタンプ。 2\ ユーザーモデル このモデルはユーザー認証と資格情報を処理します。 フィールド データ型 説明 id オブジェクトid 自動生成された一意の識別子。 ユーザー名 文字列 ユーザーのためのユニークなユーザー名。 メール 文字列 ユーザーのユニークなメールアドレス。 パスワードハッシュ 文字列 暗号化されたユーザーパスワード。 作成日時 日付 アカウントが作成された日時。 更新日時 日付 アカウントが更新された時刻。 これらのモデルを作成し、back4appダッシュボード内でフィールドを定義できます。 新しいクラスを作成 データ型を選択し、フィールド名を入力し、デフォルト値を設定し、それが必須かどうかをマークすることでフィールドを追加できます。 カラムを作成 スキーマ生成のためのback4app aiエージェントの活用 back4app aiエージェントは、あなたの仕様に基づいてデータスキーマを自動的に構成できるダッシュボード内のインテリジェントな機能です。このツールは、データモデルがcrud操作に最適化されることを保証することで、プロジェクトの初期化を簡素化します。 aiエージェントの使用方法 aiエージェントを開く back4appダッシュボードにログインし、プロジェクト設定でaiエージェントを見つけます。 モデルの詳細を提供する 必要なモデルとフィールドの詳細な説明を提出します。 レビューと確認 aiエージェントが提案されたスキーマを生成します。詳細を確認して構成を適用します。 サンプルプロンプト create the following models in my back4app project 1\) model items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) model users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) このai支援のアプローチは時間を節約し、データ構造が一貫して最適化されることを保証します。 ステップ3 – 管理アプリの有効化とcrud操作の処理 管理アプリの概要 back4app管理アプリは、バックエンドデータを管理するためのユーザーフレンドリーなノーコードプラットフォームを提供します。ドラッグアンドドロップインターフェースを使用すると、レコードの追加、表示、更新、削除などのcrudタスクを簡単に実行できます。 管理アプリの有効化 「その他」メニューに移動 あなたのback4appダッシュボードで。 「管理アプリ」を選択 をクリックし、 「管理アプリを有効にする」。 管理者資格情報を設定 初期管理者アカウントを作成することで。これにより、役割(例: b4aadminuser )やシステムモデルも設定されます。 管理アプリを有効にする 有効化されたら、管理アプリにログインしてアプリケーションのデータを管理します。 管理アプリダッシュボード 管理アプリを通じたcrud操作の管理 管理アプリ内では、次のことができます。 レコードの挿入: モデル内の「レコードを追加」ボタンをクリックして新しいデータを入力します。 レコードの検査/修正: 任意のレコードを選択してその詳細を表示したり、フィールドを編集します。 レコードの削除: もはや必要のないエントリを削除します。 この効率的なインターフェースは、データ管理の効率を大幅に向上させます。 ステップ4 – ember jsアプリケーションをback4appに接続する バックエンドが設定されたら、ember jsアプリケーションをback4appに接続する時が来ました。 ember jsでのapi呼び出しの使用 ember jsはデータ操作のためにember dataを活用します。このチュートリアルでは、restアダプターを使用してback4appバックエンドと対話します。 1\ restアダプターの設定 アプリケーションのアダプターを作成または更新します(例: app/adapters/application js )次の設定を使用して import restadapter from '@ember data/adapter/rest'; export default class applicationadapter extends restadapter { host = 'https //parseapi back4app com'; headers = { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', 'content type' 'application/json' }; } 2\ ember dataモデルの定義 (例: app/models/item js )のためにemberモデルを作成します import model, { attr } from '@ember data/model'; export default class itemmodel extends model { @attr('string') title; @attr('string') description; @attr('date') createdat; @attr('date') updatedat; } 同様に(例: app/models/user js )のために user を作成します import model, { attr } from '@ember data/model'; export default class usermodel extends model { @attr('string') username; @attr('string') email; @attr('string') passwordhash; @attr('date') createdat; @attr('date') updatedat; } 3\ crud操作の実装 ember dataのストアサービスを使用してcrud操作を実行します。たとえば、すべてのアイテムを取得するには、次のようなルートを作成します import route from '@ember/routing/route'; export default class itemsroute extends route { model() { return this store findall('item'); } } 同様に、ember dataのapiメソッドを使用してレコードを追加、更新、または削除できます。 代替案:api呼び出しにネイティブフェッチを使用する ember dataを使用したくない場合は、ネイティブフェッチ呼び出しを利用できます。たとえば、アイテムを取得するには async function fetchitems() { try { let response = await fetch('https //parseapi back4app com/classes/items', { method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); let data = await response json(); console log('fetched items ', data); } catch (error) { console error('error fetching items ', error); } } これらのapi呼び出しを必要に応じてemberコンポーネントやサービスに統合してください。 ステップ5 – バックエンドのセキュリティを強化する アクセス制御の実装 各オブジェクトのアクセス制御リスト(acl)を設定することで、データを保護します。たとえば、所有者のみが表示できるアイテムを作成する場合、api呼び出しを通じてacl設定を調整できます。 クラスレベルの権限(clp) back4appダッシュボード内でclpを設定し、認証されたユーザーのみが特定のモデルにアクセスできるようにします。これにより、デフォルトのアクセスルールを強制することで、セキュリティの追加層が提供されます。 ステップ6 – ember jsでのユーザー認証の実装 ユーザーアカウントの設定 back4appは、認証を処理するためにparse userモデルを活用しています。あなたのember jsアプリケーションでは、api呼び出しを介してユーザーのサインアップとログインを管理するサービスを作成できます。 例えば、認証サービスを作成します ( app/services/auth js ) import service from '@ember/service'; export default class authservice extends service { async register(username, password, email) { try { let response = await fetch('https //parseapi back4app com/users', { method 'post', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key', 'content type' 'application/json' }, body json stringify({ username, password, email }) }); let result = await response json(); console log('user registered successfully ', result); } catch (error) { console error('registration error ', error); } } async login(username, password) { try { let response = await fetch(`https //parseapi back4app com/login?username=${username}\&password=${password}`, { method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); let result = await response json(); console log('user logged in ', result); } catch (error) { console error('login error ', error); } } } このサービスは、セッション管理、パスワードリセット、その他の認証関連のタスクを処理するために、ルートやコンポーネントに注入できます。 ステップ7 – ember jsアプリケーションのデプロイ back4appはさまざまなデプロイ戦略をサポートしています。dockerコンテナ化などの方法を使用して、ember jsアプリケーションをデプロイできます。 7 1 emberアプリケーションの構築 アプリケーションを構築する ターミナルで次のコマンドを実行します ember build environment=production 出力を確認する dist/ フォルダーに本番用のアセットが含まれていることを確認してください。 7 2 プロジェクト構造の概要 典型的なember jsプロジェクトは次のように整理されることがあります basic crud app ember/ \| app/ \| | adapters/ \| | | application js \| | models/ \| | | item js \| | | user js \| | routes/ \| | | items js \| | services/ \| | auth js \| config/ \| | environment js \| public/ \| tests/ \| ember cli build js \| package json \| readme md 7 3 emberアプリケーションのdocker化 コンテナ化されたデプロイメントを好む場合は、プロジェクトのルートに dockerfile を含めてください \# use an official node js image as the base from node 16 alpine \# set the working directory workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy the rest of the application code copy \# build the ember application run npm run build environment=production \# use a lightweight web server to serve static files from nginx\ stable alpine copy from=0 /app/dist /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] 7 4 back4appウェブデプロイメントによるデプロイ githubリポジトリを接続する あなたのember jsプロジェクトをgithubにホストします。 デプロイ設定を構成する back4appダッシュボードで、 web deployment に移動し、リポジトリ(例 basic crud app ember )をリンクし、希望のブランチを選択します。 ビルドコマンドを設定する ビルドコマンドを定義します(例 ember build environment=production ) と出力ディレクトリを指定します。 アプリをデプロイする 「 deploy 」をクリックし、アプリがライブになるまでログを監視します。 ステップ8 – 結論と次のステップ 素晴らしい仕事です!あなたは今、back4appと統合されたember jsベースのcrudアプリケーションを構築しました。 このチュートリアルでは、 basic crud app ember というプロジェクトを設定し、アイテムとユーザーのモデルを設計し、back4app管理アプリを通じてバックエンドを管理しました。 また、apiコールを使用してember jsアプリを接続し、堅牢なセキュリティプラクティスを実装しました。 次のステップ: アプリケーションを強化する: 高度な検索機能、詳細ビュー、またはライブ更新などの機能を追加することを検討してください。 バックエンド機能を拡張する: クラウド機能を探求したり、サードパーティのapiを統合したり、役割ベースのアクセス制御を設定したりしてください。 理解を深める: より高度なトピックについては、 back4appのドキュメント https //www back4app com/docs や他のember jsリソースを訪れてください。 コーディングを楽しんで、ember jsとの旅に幸運を祈ります!