Quickstarters
CRUD Samples
How to Build a Basic CRUD App with Solid?
31 分
概要 このウォークスルーでは、solidjsを使用して完全なcrud(作成、読み取り、更新、削除)アプリケーションを開発する方法を学びます。 バックエンドサービスとしてback4appを使用し、データを簡単に管理できるようにします。このガイドでは、back4appプロジェクトの設定、柔軟なデータスキーマの作成、solidjsアプリケーション内でのcrud操作のコーディングを行います。 最初に、「 basic crud app solidjs 」という名前のback4appプロジェクトを設定します。このプロジェクトは、堅牢でスキーマレスなデータストレージ環境を提供します。コレクションとフィールドを手動で作成するか、back4appのaiエージェントの支援を受けてデータモデルを定義します。 次に、使いやすいback4app管理アプリを使用してバックエンドデータを管理します。最後に、parse javascript sdk(または必要に応じてrest/graphql apiを介して)を通じてsolidjsアプリケーションをback4appと統合し、安全なアクセス制御を強化します。 このチュートリアルの終わりまでに、基本的なcrud機能と安全なユーザー認証およびデータ管理を備えた、商用利用可能なsolidjsアプリケーションを持つことができます。 学べること solidjsをベースにしたcrudアプリを、モダンでノーコードのバックエンドで作成する方法。 スケーラブルなバックエンドを設計し、それをsolidjsアプリに接続するためのベストプラクティス。 データ操作を効率化するためのback4app管理アプリのナビゲート方法。 solidjsアプリケーションをシームレスに展開するための、dockerコンテナ化を含む展開戦略。 前提条件 始める前に、次のものを用意してください アクティブなプロジェクトを持つback4appアカウント。 助けが必要ですか? back4appの始め方 https //www back4app com/docs/get started/new parse app を訪れてください。 solidjsのために設定された開発環境。 visual studio codeやお好みのエディタ、node js(v14以上)を使用することをお勧めします。 solidjs、モダンjavascript、restful apiの基本知識。 必要に応じて、 solidjsのドキュメント https //www solidjs com/docs を確認してください。 ステップ1 – プロジェクトの初期化 back4appプロジェクトの設定 back4appアカウントにログインします。 ダッシュボードの「新しいアプリ」ボタンをクリックします。 プロジェクトに名前を付けます: basic crud app solidjs そして、セットアップを完了するための指示に従います。 新しいプロジェクトを作成 プロジェクトを作成すると、それがダッシュボードに表示され、バックエンドの基盤が築かれます。 ステップ2 – データスキーマの作成 データ構造の設計 このcrudアプリケーションでは、back4appプロジェクトにいくつかのコレクションを設定します。以下は、必要な主なコレクションとフィールドの例です。 1\ コレクション アイテム このコレクションは各アイテムに関する情報を保存します。 フィールド タイプ 目的 id オブジェクトid 自動生成された一意の識別子。 タイトル 文字列 アイテムの名前。 説明 文字列 アイテムの簡単な説明。 作成日時 日付 アイテムが追加されたタイムスタンプ。 更新日時 日付 最後の更新のタイムスタンプ。 2\ コレクション ユーザー このコレクションはユーザーの資格情報と認証データを管理します。 フィールド タイプ 目的 id オブジェクトid 自動生成された一意の識別子。 ユーザー名 文字列 ユニークユーザー識別子。 メール 文字列 ユニークなメールアドレス。 パスワードハッシュ 文字列 安全なアクセスのための暗号化されたパスワード。 作成日時 日付 アカウント作成のタイムスタンプ。 更新日時 日付 最後のアカウント更新のタイムスタンプ。 これらのコレクションを作成し、back4appダッシュボードを介してフィールドを追加できます。 新しいクラスを作成 新しいフィールドを追加するには、適切なデータ型を選択し、フィールド名を設定し、必要に応じてデフォルト値を割り当て、必要に応じて必須としてマークします。 列を作成 back4app aiアシスタントを使用したスキーマ作成 統合されたback4app aiアシスタントは、指示に基づいてデータスキーマを自動的に作成し、時間を節約し、一貫性を確保します。 aiアシスタントの使用方法 aiアシスタントを開く back4appダッシュボードのプロジェクト設定からアクセスします。 データモデルの詳細を記入する 必要なコレクションとフィールドの詳細な説明を入力します。 設定を確認する 提案されたスキーマを確認し、構成を確定するために承認します。 例のプロンプト create two collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) このai駆動の方法は、スキーマ作成プロセスを効率化し、最適化されたデータモデルを確保します。 ステップ3 – 管理ダッシュボードの有効化とデータ操作の管理 管理ダッシュボードの紹介 back4appの管理ダッシュボードは、効率的なバックエンド管理のためのノーコードインターフェースを提供します。ドラッグアンドドロップ機能により、レコードの追加、表示、更新、削除などのcrudタスクを簡単に実行できます。 管理ダッシュボードの有効化 「その他」メニューに移動 して、back4appダッシュボードで。 「管理アプリ」を選択 し、「管理アプリを有効にする」をクリックします。 管理者の資格情報を設定 し、初期の管理者アカウントを作成します。これにより、必要な役割(例えば、 b4aadminuser )やシステムコレクションも確立されます。 管理アプリを有効にする 有効化後、管理ダッシュボードにログインしてアプリのデータを管理します。 管理アプリダッシュボード 管理ダッシュボードでのcrud操作の処理 ダッシュボード内で、次のことができます レコードを追加 どのコレクション(例:アイテム)でも「レコードを追加」機能を使用して新しいデータを入力します。 レコードを表示/編集 エントリをクリックしてその詳細を確認または変更します。 レコードを削除 古くなったり不要なエントリを削除します。 このインターフェースはデータ管理を簡素化し、効率的で直感的な体験を提供します。 ステップ4 – solidjsアプリケーションをback4appに接続する バックエンドが整ったら、次のステップはsolidjsアプリケーションをback4appにリンクすることです。 オプションa parse javascript sdkを使用する parse javascript sdkをインストールします: プロジェクトディレクトリで次のコマンドを実行します npm install parse アプリケーションでparseを設定します: 設定ファイルを作成します(例: parseconfig js ) // parseconfig js import parse from 'parse'; parse initialize("your application id", "your javascript key"); parse serverurl = 'https //parseapi back4app com'; export default parse; 3\ implement crud operations in solidjs here’s an example solidjs service for managing items ```javascript // itemsservice js import parse from ' /parseconfig'; export const fetchitems = async () => { try { const items = parse object extend("items"); const query = new parse query(items); const results = await query find(); return results; } catch (error) { console error("error retrieving items ", error); } }; export const additem = async (title, description) => { const items = parse object extend("items"); const item = new items(); item set("title", title); item set("description", description); try { await item save(); console log("item added successfully "); } catch (error) { console error("error adding item ", error); } }; export const updateitem = async (objectid, newtitle, newdescription) => { const items = parse object extend("items"); const query = new parse query(items); try { const item = await query get(objectid); item set("title", newtitle); item set("description", newdescription); await item save(); console log("item updated successfully "); } catch (error) { console error("error updating item ", error); } }; export const deleteitem = async (objectid) => { const items = parse object extend("items"); const query = new parse query(items); try { const item = await query get(objectid); await item destroy(); console log("item deleted successfully "); } catch (error) { console error("error deleting item ", error); } }; オプションb restまたはgraphql apiの利用 parse sdkを使用したくない場合は、restを介してcrud操作を実行できます。たとえば、rest apiを使用してアイテムを取得する方法は次のとおりです export const fetchitemsrest = async () => { try { const 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", }, }); const data = await response json(); return data results; } catch (error) { console error("error fetching items via rest ", error); } }; 必要に応じて、これらのapi呼び出しをsolidjsコンポーネントに統合します。 ステップ5 – バックエンドセキュリティの強化 アクセス制御リスト(acl)の設定 各オブジェクトに対してaclを設定することでデータを保護します。たとえば、アイテムを制限してその所有者のみがアクセスできるようにするには import parse from ' /parseconfig'; export const addprivateitem = async (title, description, owner) => { const items = parse object extend("items"); const item = new items(); item set("title", title); item set("description", description); const acl = new parse acl(); acl setreadaccess(owner, true); acl setwriteaccess(owner, true); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); item setacl(acl); try { await item save(); console log("private item added "); } catch (error) { console error("error saving private item ", error); } }; クラスレベルの権限(clp)の設定 back4appダッシュボードでclpを設定して、デフォルトのアクセス制限を強制し、認可されたユーザーのみが特定のコレクションと対話できるようにします。 ステップ6 – ユーザー認証の実装 ユーザーアカウントの管理 back4appは、認証のために組み込みのparse userコレクションを使用します。solidjsアプリで、ユーザー登録とログインを次のように処理します import parse from ' /parseconfig'; export const registeruser = async (username, password, email) => { const user = new parse user(); user set("username", username); user set("password", password); user set("email", email); try { await user signup(); console log("user registered successfully!"); } catch (error) { console error("registration error ", error); } }; export const loginuser = async (username, password) => { try { const user = await parse user login(username, password); console log("logged in as ", user get("username")); } catch (error) { console error("login error ", error); } }; セッション管理、パスワードリセット、その他の認証機能に対しても同様の戦略を採用できます。 ステップ 7 – solidjs アプリケーションのデプロイ back4app はデプロイプロセスを簡素化します。docker を含むさまざまな方法で solidjs アプリケーションをデプロイできます。 7 1 アプリケーションの準備 アプリケーションをビルドする パッケージマネージャーを使用して solidjs アプリをコンパイルします。例えば npm run build ビルド出力を確認する ビルドフォルダに必要なファイルがすべて含まれていることを確認してください。 7 2 プロジェクト構造の整理 典型的なプロジェクト構造は次のようになります basic crud app solidjs/ \| public/ \| | index html \| src/ \| | components/ \| | | app jsx \| | services/ \| | | parseconfig js \| | | itemsservice js \| | | authservice js \| | index jsx \| package json \| readme md 7 3 アプリケーションの docker 化 アプリをコンテナ化したい場合は、プロジェクトのルートに dockerfile を作成します \# use a lightweight node image from node 16 alpine \# set the working directory workdir /app \# copy package files and install dependencies copy package json package lock json / run npm install \# copy the rest of the application code copy \# build the application run npm run build \# expose the port (adjust if needed) expose 3000 \# serve the built application cmd \["npx", "serve", "build"] 7 4 back4app web deploymentによるデプロイ gitリポジトリを接続する あなたのsolidjsプロジェクトがgithubにホストされていることを確認してください。 デプロイを設定する back4appダッシュボードで、 web deployment を選択し、リポジトリ(例 basic crud app solidjs )をリンクし、適切なブランチを選択します。 ビルドコマンドを設定する ビルドコマンド(例 npm run build )を定義し、出力ディレクトリを指定します。 アプリケーションをデプロイする 「 デプロイ 」をクリックし、アプリがライブになるまでログを監視します。 ステップ8 – 最終的な考えと今後の改善 素晴らしい仕事です!あなたはback4appと統合されたsolidjs crudアプリケーションを成功裏に作成しました。 「 basic crud app solidjs 」という名前のプロジェクトを設定し、アイテムとユーザーのコレクションを定義し、back4app管理ダッシュボードを通じてデータを管理しました。 さらに、parse javascript sdk(またはrest/graphql)を使用してsolidjsアプリを接続し、堅固なセキュリティ対策を適用しました。 次のステップ アプリケーションを拡張する 検索フィルター、詳細なアイテムビュー、またはリアルタイムデータ更新などの高度な機能を追加します。 バックエンドを強化する クラウド機能、サードパーティapi統合、または役割ベースのアクセス管理を試してみてください。 もっと学ぶ 「 back4appのドキュメント https //www back4app com/docs 」や追加のsolidjsチュートリアルに飛び込んで、アプリケーションをさらに洗練させましょう。 コーディングを楽しんで、solidjs crudプロジェクトの成功を祈っています!