7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Nest.jsのディレクトリ構成をアレンジする

Posted at

背景

仕事でNest.jsの導入を行う際に調査していた結果、ドメインオブジェクトベースでディレクトリが分けられるのが主流?なのかその様な記事しか見当たらなかった。しかし、serviceやcontrollerなどの機能単位で作成したかったのでアレンジしてみました。

ディレクトリ構成

一応gitリポジトリも載せておきます。

├─ web-api
│   └─ src
│        ├─ controllers                      ... 各APIのリクエストを受け付けを担う
│        │   └─ users.controller.ts
│        ├─ interfaces                       ... アプリケーションのインターフェースを格納する
│        │   └─ users.dto.ts
│        ├─ domain
│        │   ├─ entirties                    ... ドメインオブジェクトEntity
│        │   │   └─ users.entity.ts
│        │   └─ repositories                 ... DBアクセスを担う
│        │       └─ users.repository.ts
│        ├─ logger                           ... ログ出力を担う
│        │   └─ logger.service.ts
│        ├─ modules                          ... 依存関係の定義を担う
│        │   └─ users.module.ts
│        ├─ services                         ... ビジネスロジックを担う
│        │   └─ users.service.ts
│        ├─ app.module.ts                    ... アプリケーションのルートモジュール
│        └─ main.ts                          ... アプリケーションのエントリファイル
│
├─ test
│   └─                                       ... 設計中
│
├─ .eslintrc.js
├─ .prettierrc
├─ nest-cli.json
├─ ormconfig.yaml                            ... typeormの定義ファイル
├─ package-lock.json
├─ package.json
├─ README.md
├─ tsconfig.build.json
├─ tsconfig.json
└─ yarn.lock
7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?