メインコンテンツまでスキップ

プロジェクト構造

MBC CQRS サーバーレスフレームワーク プロジェクトの構造

このページでは MBC CQRS サーバーレスフレームワークのプロジェクトの構造を説明します。プロジェクトルートディレクトリのファイルとディレクトリ、構成ファイルについて説明します。

プロジェクトルートのディレクトリ

最上位のディレクトリはローカル開発、データマイグレーション、テスト用のディレクトリから構成されています。

infra-localローカル開発のためのインフラ実行基盤
prismaPrisma ORM、DynamoDBテーブルの設定
srcアプリケーションソースフォルダ
testE2Eテスト、APIテスト等の設定

プロジェクトルートディレクトリ内のファイル

プロジェクトルートディレクトリ内のファイルはアプリケーション設定、依存関係の管理、環境設定ファイルの定義等を行っています。

.env環境設定ファイル
.env.localローカル開発用環境設定ファイル
.eslintrc.jsESLint 設定ファイル
.gitignore.gitignore ファイル
.prettierrcPrettier のコード整形ルール設定ファイル
jest.config.jsJest 用テスト設定ファイル
nest-cli.jsonNode.js プラグイン設定ファイル
package-lock.jsonpackage.json のロックファイル
package.jsonプロジェクトの依存モジュール及び、スクリプトファイル
README.mdプロジェクトの説明、インストール方法、ガイドライン等を記載したファイル
tsconfig.build.jsonTypeScript コンパイラーオプション設定ファイル
tsconfig.jsonTypeScript 設定ファイル

アプリケーションモジュールの規約

次の記述は、src ディレクトリ内に新しいモジュールを定義する際の規約です。

folder
dtofolderDTO (データ転送オブジェクト) スキーマを定義します。 DTO は、ネットワーク上でデータを送信する方法を定義するオブジェクトです。
entitiesfolderビジネスオブジェクトを定義します。
handlerfolderデータ同期ハンドラークラスを定義します。
[name].service.tsfileビジネスロジックを定義します。
[name].controller.tsfileコントローラを定義します。
[name].module.tsfile特定の機能に関するコード記述します。整理した状態を保ち明確な境界を確立します。