プロジェクト構造
MBC CQRS サーバーレスフレームワーク プロジェクトの構造
このページでは MBC CQRS サーバーレスフレームワークのプロジェクトの構造を説明します。プロジェクトルートディレクトリのファイルとディレクトリ、構成ファイルについて説明します。
プロジェクトルートのディレクトリ
最上位のディレクトリはローカル開発、データマイグレーション、テスト用のディレクトリから構成されています。
| infra-local | ローカル開発のためのインフラ実行基盤 |
| prisma | Prisma ORM、DynamoDBテーブルの設定 |
| src | アプリケーションソースフォルダ |
| test | E2Eテスト、APIテスト等の設定 |
プロ ジェクトルートディレクトリ内のファイル
プロジェクトルートディレクトリ内のファイルはアプリケーション設定、依存関係の管理、環境設定ファイルの定義等を行っています。
| .env | 環境設定ファイル |
| .env.local | ローカル開発用環境設定ファイル |
| .eslintrc.js | ESLint 設定ファイル |
| .gitignore | .gitignore ファイル |
| .prettierrc | Prettier のコード整形ルール設定ファイル |
| jest.config.js | Jest 用テスト設定ファイル |
| nest-cli.json | Node.js プラグイン設定ファイル |
| package-lock.json | package.json のロックファイル |
| package.json | プロジェクトの依存モジュール及び、スクリプトファイル |
| README.md | プロジェクトの説明、インストール方法、ガイドライン等を記載したファイル |
| tsconfig.build.json | TypeScript コンパイラーオプション設定ファイル |
| tsconfig.json | TypeScript 設定ファイル |
アプリケーションモジュールの規約
次の記述は、src ディレクトリ内に新しいモジュールを定義する際の規約です。
| folder | ||
|---|---|---|
| dto | folder | DTO (データ転送オブジェクト) スキーマを定義します。 DTO は、ネットワーク上でデータを送信する方法を定義するオブジェクトです。 |
| entities | folder | ビジネスオブジェクトを定義します。 |
| handler | folder | データ同期ハンドラークラスを定義します。 |
| [name].service.ts | file | ビジネスロジックを定義します。 |
| [name].controller.ts | file | コントローラを定義します。 |
| [name].module.ts | file | 特定の機能に関するコード記述します。整理した状態を保ち明確な境界を確立します。 |