プロジェクト構造
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 | 特定の機能に関するコード記述します。整理した状態を保ち明確な境界を確立します。 |