개발일지

중간점검: 프로젝트 구조 변경 본문

NestJS, Node.js/#01 Project - 투표 커뮤니티

중간점검: 프로젝트 구조 변경

lyjin 2022. 10. 30.

프로젝트를 더 진행하기 전 구조적으로 보완이 필요하다고 판단했습니다.

  1. middleware 폴더 분리
    common은 interface, dto와 같이 공통적으로 정의 하기 위한 폴더입니다. middleware의 성격과는 다르다는 생각이 들어 common 폴더와 분리했습니다. 또한, middleware 안에서도 exception.filterinterceptor를 분리했습니다.
  2. 인증 관련 서비스 users > auth 모듈로 분리
    후에 소셜 로그인, 이메일 인증 등 인증 과정이 추가될 수 있다고 생각했습니다. 확장성을 위해 인증 관련된 부분만 관리하는 auth 모듈을 추가했습니다.
    또한, /users/jwt 에 있던 auth.decorator.ts/common/decorator 로 이동했습니다. =
  3. app 폴더 추가
    auth, users, votes, common, middle 모두 /src/* 안에 존재하다보니 구조적으로 복합하다는 생각이 들었습니다. 따라서 auth, users, votes 등 프로젝트의 모듈만을 관리하는 app 폴더를 생성했습니다.

 

수정된 프로젝트 구조는 다음과 같습니다. 파일을 제외한 폴더 구조만 나타냅니다.

 

├── prisma
├── src
│    ├── app
│    │    ├── auth
│    │    │    └── jwt
│    │    ├── users
│    │    └── votes
│    ├── common
│    │    ├── decorator
│    │    ├── dto
│    │    └── interface
│    ├── middleware
│    │    ├── exception.filter
│    │    └── interceptor
├── app.module.ts
├── main.ts