2023. 2. 24. 04:20ㆍ프로젝트/8주차 실전 프로젝트
해당 포스트는 앞으로 진행할, 혹은 진행된 리펙토링에 대한 소개 및 설명을 기록할 목차로서 제공되는 글입니다.
번호 순으로 구현하지는 않을 것 같고 작성되는 대로 수정될 수 있습니다.
1. Express 종속성 제거와 커스텀 데코레이터
관련 포스팅 글
https://ksw0627.tistory.com/113
3. 리펙토링 -Express 종속성 제거와 커스텀 데코레이터-
1. github issue https://github.com/TeamBudgetOverflow/backend/issues/56 refactoring: Eliminating express-like constructs such as req and res · Issue #56 · TeamBudgetOverflow/backend Nest.js의 코드에서 Express-like(@Req, @res)한 구문을 사용하
ksw0627.tistory.com
2. process.env 대신 configModule 사용
관련 포스팅 글
https://ksw0627.tistory.com/114
3. 리펙토링 -process.env 대신 configModule 사용-
1. Github Issue https://github.com/TeamBudgetOverflow/backend/issues/57 refactoring: using ConfigModule instead process.env · Issue #57 · TeamBudgetOverflow/backend 환경 변수를 가져오는 process.env는 Node.js의 기능으로, Nest.js 사용시
ksw0627.tistory.com
3. 비즈니스 로직 이관처리
https://github.com/TeamBudgetOverflow/backend/issues/63
비즈니스 로직 이관처리 · Issue #63 · TeamBudgetOverflow/backend
controller의 비즈니스 로직을 service로 이관 처리 작업 내역 User 모듈 Goal 모듈 Report 모듈
github.com
4. SRP 원칙을 지키는 메소드 분할
https://github.com/TeamBudgetOverflow/backend/issues/64
메소드 분할 · Issue #64 · TeamBudgetOverflow/backend
User, Goal, Report 모듈에서 기본 비즈니스 로직을 분리했고(#63 ) 분리한 비즈니스 로직을 메소드 단위로 분리하고 코드 리펙토링을 하고자 함. 메소드는 최대한 하나의 역할만 하도록 분할하는 것
github.com
5. 트랜젝션 - DB의 상태를 생성, 수정을 2개 이상 진행하는 메소드
https://github.com/TeamBudgetOverflow/backend/issues/61
Transaction · Issue #61 · TeamBudgetOverflow/backend
트랜젝션을 생성하기 위해 전제되는 내용 controller에서 순차적으로 진행했던 로직을 service로 이관 처리 #63 service의 비즈니스 로직을 메소드 분할하여 단일 책임 원칙(SRP)를 지키도록함 #64 DB의 상
github.com
AWS Systems Manager Parameter Store를 통해 환경 변수 외부로부터 사용
Redis를 이용한 refreshToken 관리
Entity에서 데코레이터를 사용한 Column 조건 설정 및 DTO 간략화
트랜젝션 구현
성능 테스트
user.controller.ts 코드 간략화
goal.controller.ts 코드 간략화
코드 개선을 통한 성능 개선 확인
단위, 통합 테스트 구현과 테스트 도구 사용
스웨거 or nestia 구현 ( 채팅 기능 구현시 )
채팅 기능 구현 ( 프론트 분과 이야기 되어야함 )
모니터링 및 관측 가능성 ( 미정 )
'프로젝트 > 8주차 실전 프로젝트' 카테고리의 다른 글
| 3. 리펙토링 -process.env 대신 configModule 사용- (2) | 2023.02.24 |
|---|---|
| 3. 리펙토링 -Express 종속성 제거와 커스텀 데코레이터- (0) | 2023.02.24 |
| 2. 트러블 슈팅 -DTO Data & Data Type Transform- (0) | 2023.02.18 |
| 2. 트러블 슈팅 -소셜 로그인 OAuth 2.0- (0) | 2023.02.18 |
| 2. 트러블 슈팅 -연관 테이블- (0) | 2023.02.18 |