생명주기?
(가정) 게시물이 생성되었을때 카테고리는 무조건 선택해야하고 해쉬태그는 선택적으로 해야한다.
게시물과 게시물과 카테고리 관계는 같은 생명주기
→ 게시물과 카테고리의 관계는 게시물이 생성될때 같이 생성되고 게시물이 삭제 될때 같이 삭제된다.
게시물과 해쉬태그의 관계는 다른 생명주기
→ 게시물이 생성되었다고 해서 무조건 게시물과 해쉬태그의 관계가 생성되지 않는다.
이와 같은 개념으로 src에 있는 routes 에 만들어야할 폴더를 구성해보자.
폴더구성을 변경하기 전
├── board
│ ├── board.controller.ts
│ ├── board.module.ts
│ ├── board.service.ts
│ ├── dtos
│ └── functions
├── board_category
│ ├── boardToCategory.module.ts
│ ├── boardToCategory.service.ts
│ └── dto
├── category
│ ├── category.controller.ts
│ ├── category.module.ts
│ ├── category.service.ts
│ └── dto
├── hashtag
│ ├── dto
│ ├── hashtag.controller.ts
│ ├── hashtag.module.ts
│ └── hashtag.service.ts
├── hashtag_board
│ ├── dto
│ ├── hashtagToBoard.controller.ts
│ ├── hashtagToBoard.index.ts
│ ├── hashtagToBoard.module.ts
│ └── hashtagToBoard.service.ts
└── reply
├── dto
├── reply.controller.ts
├── reply.module.ts
└── reply.service.ts
폴더구성을 변경한 후 : board_category 삭제
.
├── board
│ ├── board.controller.ts
│ ├── board.module.ts
│ ├── board.service.ts
│ ├── boardToCategory.service.ts
│ ├── dto
│ └── functions
├── category
│ ├── category.controller.ts
│ ├── category.module.ts
│ ├── category.service.ts
│ └── dto
├── hashtag
│ ├── dto
│ ├── hashtag.controller.ts
│ ├── hashtag.module.ts
│ └── hashtag.service.ts
├── hashtag_board
│ ├── dto
│ ├── hashtagToBoard.controller.ts
│ ├── hashtagToBoard.index.ts
│ ├── hashtagToBoard.module.ts
│ └── hashtagToBoard.service.ts
└── reply
├── dto
├── reply.controller.ts
├── reply.module.ts
└── reply.service.ts
'프로그래밍 > Nest.js' 카테고리의 다른 글
[ NestJS ] LocalStrategy 구현 중 겪은 문제 해결사항 기록 (0) | 2024.05.28 |
---|---|
[ NestJS ] DDD ( Domain-Driven Design ) 방식을 따른 프로젝트의 계층화 구조 (0) | 2024.05.08 |
[ NestJS ] @Get, Promise.allSettled() 적용 (0) | 2024.05.06 |
[ Webstrom ] NestJS 디버깅하는 법 (0) | 2024.05.04 |
[ NestJS] 유효성 검사를 위한 DTO 설정 예시 (0) | 2024.05.03 |