JavaScript3 [Node.js] Nest.js 폴더 구조 설계하기 0. 개요 [ 기존의 구조 ] 보통 express에서는 컨트롤러, 서비스 별로 쭈욱 파일이 모여있다. 아래는 과거에 진행한 프로젝트 구조이다. 프로젝트를 진행하면서 mvp가 많아질수록 컨트롤러와 서비스는 많아졌고 점점 도메인 별로 코드를 찾기 어려워졌다. 이 구조는 서비스가 확장되면 도메인 별로 흩어져 있기 때문에 파일을 찾아서 개발하는 것이 힘들다. 그래서 좀 더 대규모 서비스의 폴더 구조는 어떻게 설계하는지 궁금해졌고, 이번에는 nest에서 최대한 DDD할 수 있는 폴더 구조를 알아보려 한다. ┣ 📂controllers ┃ ┣ 📜bookMarkController.ts ┃ ┣ 📜checklistController.ts ┃ ┣ 📜scheduleController.ts ┃ ┣ 📜subscribeContro.. 2022. 9. 25. TypeScript + Node.js + Express 에서 프로젝트 시작하기 0. 프로젝트 폴더 생성 나의 프로젝트 폴더 구조는 다음과 같다. 1. 패키치 설치 나는 package manager로 yarn을 사용했다. 내 프로젝트 폴더 구조 기준으로 back 폴더에서 다음 명령어를 실행했다. 1) yarn 초기화 $ yarn init 2) 필요한 패키치 설치 typescript 전역으로 설치 yarn add typescript -g $ yarn add ts-node nodemon typescript @types/express @types/node nodemon --dev $ yarn add express typescript는 node에서 바로 실행되지 않기 때문에 tsc를 사용해서 javascript로 변환한 다음 실행된다. 프로덕션 환경에 올리기 위해서는 모든 파일.. 2022. 6. 6. [Node.js] Validation 라이브러리, Joi로 단단한 코드짜기 01. 개요 1차 프로젝트에서는 request로 들어오는 데이터를 '@sindresorhus/is' 라이브러리를 사용해서 req.body가 비어있는지 여부만 확인했다. 하지만 좀 더 강하게 validation을 하려면 타입이 맞게 들어왔는지, 올바른 칼럼이 들어왔는지 등을 확인해야 한다. 그래서 이번엔 Joi를 사용해서 Validation 해보려 한다. ✔️ 1차 프로젝트 GitHub Repository 👉 @sindresorhus/is 문서 02. Joi 라이브러리 코드 구현 👉 Joi npm 문서 👉 Joi API 문서 외부에서 들어오는 입력을 항상 validation 하는 습관은 중요하다고 한다. Joi에 대한 자료가 많지 않아 문서를 참고해서 구현해보자. 현재 라우터, 서비스 로직, 디비, 미들웨.. 2022. 4. 28. 이전 1 다음 반응형