NestJS + TypeORM 환경을 위한 환경설정입니다.
해당 템플릿은 다른 프로젝트의 기반으로 사용될 목적으로 제작됩니다.
SWC를 적용하여 보다 빠른 개발 환경을 구축합니다.
- cookie-parser
- compression
- dayjs
- @nestjs/config
- class-validator
- class-transformer
- @nestjs/swagger
- @nestjs/passport
- passport
- passport-local
- @nestjs/jwt
- passport-jwt
- @faker-js/faker
- @nestjs/axios
- axios
- bcrypt
- @nestjs/schedule
- @nestjs/cache-manager
- cache-manager
- jsonwebtoken
- @nestjs/typeorm
- typeorm
- mysql2
- typeorm-extension
- sharp
- image-size
- @types/cookie-parser
- tsconfig-paths
- @types/compression
- vitest
- vite-tsconfig-paths
- @types/multer
- @types/passport-local
- @types/passport-jwt
- @types/sharp
- @compodoc/compodoc
npm i cookie-parser compression dayjs @nestjs/config class-validator class-transformer @nestjs/swagger
npm i -D @types/cookie-parser tsconfig-paths @types/compression
npm i -D vitest vite-tsconfig-paths vitest
npm i -D @types/multer # 파일 업로드 / 응답 시 Buffer.from으로 감싸야 이미지 정상 응답
npm install --save @nestjs/passport passport passport-local # 보안 (로그인)
npm install --save-dev @types/passport-local
npm install --save @nestjs/jwt passport-jwt # jwt
npm install --save-dev @types/passport-jwtnpm -D i @faker-js/faker # faker
npm i @nestjs/axios axios
npm i bcrypt # 보안 - 비밀번호 암호화
npm i @nestjs/event-emitter # 이벤트 기반
npm i compression # 압축
npm i @nestjs/schedule # 스케쥴러
npm i @nestjs/cache-manager cache-manager # 캐싱
npm i @nestjs/throttler # 쓰로틀링
npm i @nestjs/websockets @nestjs/platform-socket.io # 웹소켓
npm i amqplib amqp-connection-manager # RabbitMQ 메세징
npm i @nestjs-modules/ioredis ioredis # Redis
npm i express-session
npm i -D @types/express-session
npm i jsonwebtoken # JWT
npm i -D @types/jsonwebtoken
npm i sharp # 이미지 상세 처리
npm i image-size # 이미지 크기 처리
npm i -D @types/sharp
# TypeORM (최근 데이터 손실 문제 등으로 비전에 대해 말이 많음)
npm install --save @nestjs/typeorm typeorm mysql2 typeorm-naming-strategies
npm install typeorm-extension --save # seeding 도구
npm i -D @compodoc/compodoc # Nestjs 프로젝트 문서화 빌드
# npx @compodoc/compodoc -p tsconfig.json -s 생성npm i --save-dev @swc/cli @swc/corenpm i --save-dev vitest unplugin-swc @swc/core @vitest/coverage-v8원인은 typeorm에서 entities나 migrations 경로가 잘못되어서 그런거임
- 전역 타입 지정
- 공통 타입 작성
- 테스트 환경 구축
- E2E 종단간 테스트 초안 작성
- 환경변수
- 공통
- 서버 버저닝
- api prefix
- 서버 정보
- 로그
- 레벨
- 활성화
- 저장 활성화
- 로그 저장 경로
- 로그 확장자
- 개발용
- 데이터베이스
- 비밀키
- 운영용
- 데이터베이스
- 비밀키
- 공통
- 데이터베이스 연동
- TypeORM 연동
- 옵션 설정
- DataSource 설정
- TypeORM 연동
- 필수 미들웨어 개발
- 로거
- 시스템 로그
- 로그 파일 저장
- 검증
- JWT 토큰
- 사용자 권한
- 파싱
- Authorization 헤더 JWT 토큰
- 데코레이터
- 권한 검증
- 가드
- 로그인 요구
- 공개 처리
- 필터
- 공통 예외처리 필터 개발
- 스웨거
- 스웨거 초안 작성
- ok response 스키마 제작
- error response 스키마 제작작
- 로거
- ORM 처리
- 예외 처리
- 트랜젝션 처리 (2가지 이상 CUD 사용 시)
- 2025-08-07 00:28:58
- 설문 수정 기능
- 대시보드 메타데이터 조회 API
- 설문 목록 조회 API
- 구독, 권한, 구독의 개인/기업 유형, 개별/단체 구독 및 권한 관리 프로세스 수립
- 구독 및 권한 관계 정리
- 설문 추가,수정,삭제 권한 검증
- 검증 로직 별도 분리 (재사용성 고려)