How to Build a Basic CRUD App with Next.js?
このガイドでは、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アカウントにログインします。
- ダッシュボードの「新しいアプリ」ボタンをクリックします。
- プロジェクト名を入力します: Basic-CRUD-App-NextJS とプロンプトに従います。
新しいプロジェクトがダッシュボードに表示され、バックエンドのコアとして機能します。
ターミナルを開いて、次のコマンドを実行します:
プロジェクトディレクトリに移動します:
このコマンドは、カスタマイズの準備が整ったNext.jsプロジェクトフレームワークをセットアップします。
このCRUDアプリでは、基本的なコレクションを作成します。以下は、コア機能を可能にするフィールドの詳細を持つ2つの主要なコレクションです。
このコレクションは各アイテムの詳細を保存します。
フィールド | データ型 | 説明 |
---|---|---|
_id | オブジェクトID | 自動生成された一意の識別子。 |
タイトル | 文字列 | アイテムの名前またはタイトル。 |
説明 | 文字列 | アイテムの簡単な要約。 |
作成日時 | 日付 | アイテムが作成された時刻。 |
更新日時 | 日付 | 最新の更新のタイムスタンプ。 |
このコレクションはユーザープロフィールと認証データを管理します。
フィールド | データ型 | 説明 |
---|---|---|
_id | オブジェクトID | 自動生成された一意の識別子。 |
ユーザー名 | 文字列 | ユーザーのためのユニークなユーザー名。 |
メール | 文字列 | ユニークなメールアドレス。 |
パスワードハッシュ | 文字列 | ユーザー認証のための安全にハッシュ化されたパスワード。 |
作成日時 | 日付 | アカウントが作成された日時。 |
更新日時 | 日付 | 最後のアカウント更新のタイムスタンプ。 |
これらのコレクションは、Back4appダッシュボードで手動で定義できます。各コレクションの新しいクラスを作成し、関連するカラムを追加します。
適切なデータ型を選択し、列に名前を付け、デフォルトや要件を設定することでフィールドを作成します。
Back4app AIアシスタントはデータベーススキーマの生成を効率化します。希望するコレクションとフィールドを説明し、アシスタントに構造を自動生成させましょう。
- AIアシスタントを開く: Back4appダッシュボードメニューで見つけます。
- データモデルを説明する: コレクションとフィールドの要件を詳しく説明したプロンプトを貼り付けます。
- レビューと適用: 生成されたスキーマを確認し、プロジェクトに実装します。
この方法は時間を節約するだけでなく、スキーマが一貫して最適化されていることを保証します。
Back4appの管理インターフェースは、バックエンドデータを管理するためのノーコードソリューションを提供します。直感的なドラッグアンドドロップシステムを使用して、CRUD操作を簡単に実行できます。
- 「その他」セクションに移動 あなたのBack4appダッシュボードで。
- 「管理アプリ」をクリック その後、「「管理アプリを有効にする。」
- 管理者の資格情報を設定 最初の管理者ユーザーを設定することによって。これにより、B4aAdminUserのような役割と必要なシステムコレクションが確立されます。
アクティベーション後、データを管理するために管理者インターフェースにログインします。
管理者インターフェース内で、あなたは:
- レコードを作成する: コレクション(例:アイテム)内の「レコードを追加」ボタンを使用して新しいデータを挿入します。
- レコードを表示または更新する: レコードをクリックして、そのフィールドを検査または変更します。
- レコードを削除する: 削除オプションを使用して古いエントリを削除します。
この簡素化されたインターフェースは、データ管理を簡単かつ効率的にします。
バックエンドが設定されたら、次のステップは Next.js アプリケーションを接続することです。
- Parse SDK をインストールする:
- Next.js アプリで Parse を初期化する: ファイルを作成します (例: lib/parseConfig.js):
- Next.js ページに Parse を統合する: 例えば、アイテムを取得して表示するページを作成します。
Parse SDKを使用しない場合は、RESTまたはGraphQLでCRUD操作を管理できます。たとえば、RESTを介してアイテムを取得するには:
必要に応じて、これらのAPI呼び出しをNext.jsコンポーネントに統合します。
オブジェクトにACLを割り当ててデータを保護します。たとえば、所有者のみがアクセスできるアイテムを作成するには:
Back4appダッシュボード内で、各コレクションのCLPを調整して、データアクセスを認可されたユーザーのみに制限します。
Back4appは、認証のためにParseの組み込みユーザークラスを活用します。Next.jsアプリで、以下のように登録とログインを管理します:
ログインとセッション管理に同様のアプローチを使用できます。また、Back4appダッシュボードを介してソーシャルログイン、メール確認、パスワード回復などの追加機能を有効にすることもできます。
Back4appのデプロイオプションを使用すると、GitHub統合またはDockerコンテナ化を通じて、Next.jsアプリケーションを簡単にホストできます。
- ターミナルでプロジェクトディレクトリを開きます。
- ビルドコマンドを実行します:
これにより、最適化された静的およびサーバーレンダリングファイルを含む .next フォルダーが生成されます。
リポジトリには、Next.jsアプリのすべてのソースファイルが含まれている必要があります。典型的な構造は次のようになります:
(ステップ4で提供されたコードスニペットを参照してください)
- Gitリポジトリを初期化する:
- すべてのファイルを追加する:
- 変更をコミットする:
- GitHubリポジトリを作成する: 例えば、名前を basic-crud-app-nextjs にする。
- コードをプッシュする:
- ウェブデプロイメントにアクセスする: Back4appダッシュボードにログインし、プロジェクトに移動して、ウェブデプロイメント機能を選択します。
- GitHubアカウントを接続する: リポジトリをリンクするための指示に従います。
- リポジトリとブランチを選択する: リポジトリ(例: basic-crud-app-nextjs)とコードを含むブランチ(例: main)を選択します。
- ビルドコマンド: リポジトリに事前ビルドされた .next フォルダが含まれていない場合は、コマンドを指定します(例: npm run build)。
- 出力ディレクトリ: 出力ディレクトリを .next に設定して、Back4appがコンパイルされたファイルの場所を知ることができるようにします。
- 環境変数: APIキーなど、必要な環境変数を追加します。
デプロイメントにDockerを好む場合は、リポジトリに Dockerfile を含めてください:
Back4appでDockerデプロイメントオプションを選択して、アプリケーションをコンテナ化してデプロイします。
- アプリをデプロイする: Back4appの Deploy ボタンをクリックします。
- ビルドプロセスを監視する: Back4appがコードを取得し、ビルドコマンドを実行し、アプリケーションをデプロイします。
- ライブアプリにアクセスする: デプロイが完了すると、Next.jsアプリケーションがホストされているURLが提供されます。
- 提供されたURLにアクセス: ブラウザでURLを開きます。
- 機能をテスト: ページが正しく読み込まれ、すべてのCRUD操作が機能していることを確認します。
- 必要に応じてトラブルシューティング: ブラウザの開発者ツールとBack4appのログを使用して問題を診断します。
おめでとうございます! Next.jsとBack4appを使用して、堅牢なCRUDアプリケーションを成功裏に構築しました。プロジェクトを設定し、カスタマイズされたコレクションを設計し、Next.jsのフロントエンドを安全なバックエンドに接続しました。
次のステップ:
- フロントエンドを強化: 詳細ビュー、検索機能、リアルタイム更新などの高度な機能でNext.jsアプリを拡張します。
- バックエンドを拡張: クラウドファンクション、サードパーティの統合、または追加のアクセス制御を探ります。
このチュートリアルに従うことで、Next.jsとBack4appを使用してスケーラブルで安全なCRUDアプリケーションを作成するスキルを身につけました。コーディングを楽しんでください!
