Quickstarters
CRUD Samples

How to Build a Basic CRUD App with Next.js?

47min

はじめに

このガイドでは、Next.jsをフロントエンドとして使用し、Back4appをバックエンドソリューションとして組み合わせた完全なCRUD(作成、読み取り、更新、削除)アプリケーションの構築を説明します。

Basic-CRUD-App-NextJS」という名前のプロジェクトを設定し、動的なデータベーススキーマを設計し、Next.jsアプリに堅牢なCRUD機能を統合します。

Back4appプロジェクトの設定やコレクションの設計から、Parse SDKまたはREST/GraphQLメソッドを使用してNext.jsインターフェースを接続するまで、すべてをカバーします。

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

主なポイント

  • Next.jsとBack4appを使用して完全なCRUDアプリケーションを構築します。
  • データニーズに合わせた柔軟なバックエンドスキーマの設計を学びます。
  • データ管理のための直感的なドラッグアンドドロップの管理インターフェースを活用します。
  • Dockerコンテナ化やGitHub統合を含むデプロイメントのベストプラクティスを発見します。


前提条件

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

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


ステップ1 – プロジェクトの設定

新しいBack4appプロジェクトを開始する

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


新しいプロジェクトがダッシュボードに表示され、バックエンドのコアとして機能します。

Next.jsアプリケーションを作成する

ターミナルを開いて、次のコマンドを実行します:

Bash


プロジェクトディレクトリに移動します:

Bash


このコマンドは、カスタマイズの準備が整ったNext.jsプロジェクトフレームワークをセットアップします。



ステップ2 – データベーススキーマの作成

データモデルの構造化

このCRUDアプリでは、基本的なコレクションを作成します。以下は、コア機能を可能にするフィールドの詳細を持つ2つの主要なコレクションです。

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

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

フィールド

データ型

説明

_id

オブジェクトID

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

タイトル

文字列

アイテムの名前またはタイトル。

説明

文字列

アイテムの簡単な要約。

作成日時

日付

アイテムが作成された時刻。

更新日時

日付

最新の更新のタイムスタンプ。

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

このコレクションはユーザープロフィールと認証データを管理します。

フィールド

データ型

説明

_id

オブジェクトID

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

ユーザー名

文字列

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

メール

文字列

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

パスワードハッシュ

文字列

ユーザー認証のための安全にハッシュ化されたパスワード。

作成日時

日付

アカウントが作成された日時。

更新日時

日付

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

これらのコレクションは、Back4appダッシュボードで手動で定義できます。各コレクションの新しいクラスを作成し、関連するカラムを追加します。

新しいクラスを作成


適切なデータ型を選択し、列に名前を付け、デフォルトや要件を設定することでフィールドを作成します。

列を作成



Back4app AIアシスタントを使用したスキーマ設定

Back4app AIアシスタントはデータベーススキーマの生成を効率化します。希望するコレクションとフィールドを説明し、アシスタントに構造を自動生成させましょう。

AIアシスタントを使用する手順:

  1. AIアシスタントを開く: Back4appダッシュボードメニューで見つけます。
  2. データモデルを説明する: コレクションとフィールドの要件を詳しく説明したプロンプトを貼り付けます。
  3. レビューと適用: 生成されたスキーマを確認し、プロジェクトに実装します。

サンプルプロンプト

Text


この方法は時間を節約するだけでなく、スキーマが一貫して最適化されていることを保証します。



ステップ3 – 管理インターフェースとCRUD機能の有効化

管理インターフェースの探索

Back4appの管理インターフェースは、バックエンドデータを管理するためのノーコードソリューションを提供します。直感的なドラッグアンドドロップシステムを使用して、CRUD操作を簡単に実行できます。

管理インターフェースの有効化

  1. 「その他」セクションに移動 あなたのBack4appダッシュボードで。
  2. 「管理アプリ」をクリック その後、「「管理アプリを有効にする。」
  3. 管理者の資格情報を設定 最初の管理者ユーザーを設定することによって。これにより、B4aAdminUserのような役割と必要なシステムコレクションが確立されます。
管理者アプリを有効にする


アクティベーション後、データを管理するために管理者インターフェースにログインします。

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


管理者インターフェースを介してCRUD操作を実行する

管理者インターフェース内で、あなたは:

  • レコードを作成する: コレクション(例:アイテム)内の「レコードを追加」ボタンを使用して新しいデータを挿入します。
  • レコードを表示または更新する: レコードをクリックして、そのフィールドを検査または変更します。
  • レコードを削除する: 削除オプションを使用して古いエントリを削除します。

この簡素化されたインターフェースは、データ管理を簡単かつ効率的にします。



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

バックエンドが設定されたら、次のステップは Next.js アプリケーションを接続することです。

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

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

  1. Next.js アプリで Parse を初期化する: ファイルを作成します (例: lib/parseConfig.js):
JS

  1. Next.js ページに Parse を統合する: 例えば、アイテムを取得して表示するページを作成します。
JS


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

Parse SDKを使用しない場合は、RESTまたはGraphQLでCRUD操作を管理できます。たとえば、RESTを介してアイテムを取得するには:

JS


必要に応じて、これらのAPI呼び出しをNext.jsコンポーネントに統合します。



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

アクセス制御リスト(ACL)の実装

オブジェクトにACLを割り当ててデータを保護します。たとえば、所有者のみがアクセスできるアイテムを作成するには:

JS


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

Back4appダッシュボード内で、各コレクションのCLPを調整して、データアクセスを認可されたユーザーのみに制限します。



ステップ6 – ユーザー認証の実装

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

Back4appは、認証のためにParseの組み込みユーザークラスを活用します。Next.jsアプリで、以下のように登録とログインを管理します:

JS



ログインとセッション管理に同様のアプローチを使用できます。また、Back4appダッシュボードを介してソーシャルログイン、メール確認、パスワード回復などの追加機能を有効にすることもできます。



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

Back4appのデプロイオプションを使用すると、GitHub統合またはDockerコンテナ化を通じて、Next.jsアプリケーションを簡単にホストできます。

7.1 プロダクションバージョンのビルド

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


これにより、最適化された静的およびサーバーレンダリングファイルを含む .next フォルダーが生成されます。



7.2 コードの整理とアップロード

リポジトリには、Next.jsアプリのすべてのソースファイルが含まれている必要があります。典型的な構造は次のようになります:

Text


例: lib/parseConfig.js

JS


例: pages/index.js

(ステップ4で提供されたコードスニペットを参照してください)

コードをGitHubにコミットする

  1. Gitリポジトリを初期化する:
Bash

  1. すべてのファイルを追加する:
Bash

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

  1. GitHubリポジトリを作成する: 例えば、名前を basic-crud-app-nextjs にする。
  2. コードをプッシュする:
Bash



7.3 Back4appウェブデプロイメントとの統合

  1. ウェブデプロイメントにアクセスする: Back4appダッシュボードにログインし、プロジェクトに移動して、ウェブデプロイメント機能を選択します。
  2. GitHubアカウントを接続する: リポジトリをリンクするための指示に従います。
  3. リポジトリとブランチを選択する: リポジトリ(例: basic-crud-app-nextjs)とコードを含むブランチ(例: main)を選択します。


7.4 デプロイメント設定の構成

  • ビルドコマンド: リポジトリに事前ビルドされた .next フォルダが含まれていない場合は、コマンドを指定します(例: npm run build)。
  • 出力ディレクトリ: 出力ディレクトリを .next に設定して、Back4appがコンパイルされたファイルの場所を知ることができるようにします。
  • 環境変数: APIキーなど、必要な環境変数を追加します。


7.5 Dockerを使用したNext.jsアプリケーションのコンテナ化

デプロイメントにDockerを好む場合は、リポジトリに Dockerfile を含めてください:

Dockerfile


Back4appでDockerデプロイメントオプションを選択して、アプリケーションをコンテナ化してデプロイします。



7.6 アプリケーションの起動

  1. アプリをデプロイする: Back4appの Deploy ボタンをクリックします。
  2. ビルドプロセスを監視する: Back4appがコードを取得し、ビルドコマンドを実行し、アプリケーションをデプロイします。
  3. ライブアプリにアクセスする: デプロイが完了すると、Next.jsアプリケーションがホストされているURLが提供されます。


7.7 デプロイメントの確認

  1. 提供されたURLにアクセス: ブラウザでURLを開きます。
  2. 機能をテスト: ページが正しく読み込まれ、すべてのCRUD操作が機能していることを確認します。
  3. 必要に応じてトラブルシューティング: ブラウザの開発者ツールとBack4appのログを使用して問題を診断します。


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

おめでとうございます! Next.jsとBack4appを使用して、堅牢なCRUDアプリケーションを成功裏に構築しました。プロジェクトを設定し、カスタマイズされたコレクションを設計し、Next.jsのフロントエンドを安全なバックエンドに接続しました。

次のステップ:

  • フロントエンドを強化: 詳細ビュー、検索機能、リアルタイム更新などの高度な機能でNext.jsアプリを拡張します。
  • バックエンドを拡張: クラウドファンクション、サードパーティの統合、または追加のアクセス制御を探ります。
  • 学び続ける: さらなる最適化とカスタマイズのために、Back4appのドキュメントとNext.jsのリソースを訪問してください。

このチュートリアルに従うことで、Next.jsとBack4appを使用してスケーラブルで安全なCRUDアプリケーションを作成するスキルを身につけました。コーディングを楽しんでください!