フロントエンドプロジェクト構造
このガイドでは、MBC CQRS Serverlessバックエンドと統合するNext.jsフロントエンドアプリケーションの構成方法を説明します。適切に構造化されたプロジェクトは、保守性を向上させ、チームコラボレーションを可能にし、アプリケーションの成長に合わせて効果的にスケールします。
このガイドを使用するタイミング
以下の場合にこのガイドを使用してください:
- MBC CQRS Serverless APIに接続する新しいフロントエンドアプリケーションを構築する場合
- 既存のReactアプリケーションをApp Router付きのNext.jsに移行する場合
- Cognito認証を使用したマルチテナントSaaSアプリケーションを構築する場合
- CQRSベースのデータ管理用の管理画面やダッシュボードを作成する場合
この構造が解決する問題
| 問題 | 解決策 |
|---|---|
| サーバーコードとクライアントコードの混在がハイドレーションエラーを引き起こす | コンテナ(クライアント)をページ(サーバー)から分離する |
| API型がバックエンドと同期しなくなる | services/sdkで生成されたOpenAPI SDKを使用する |
| 状態管理が混乱する | サーバー状態(React Query)をクライアント状態(Zustand)から分離する |
| コンポーネントが大きくなりすぎてテストが困難になる | ui(プレゼンテーション)、forms(入力)、containers(ロジック)に分割する |
| 認証ロジックがファイル全体に散らばる | lib/authにAmplify設定を集中させる |