메인 프로젝트가 끝나고 우리팀은 팀원들끼리 합의해서 프로젝트를 리팩토링 하기로 했다!
일단 우선순위를 정하여 노션에 정리하고 천천히 리팩토링을 하기로해서 1차 리팩토링은 끝이 났다.
내가 한 리팩토링 부분을 기록해보려고 한다.
코드 정리
회원 삭제 -> 회원 상태 변경 (상태로 회원 관리하기)
게시글 검색 기능 / 정렬 추가
친구 추천 기능 추가
일단 각자의 코드를 조금 정리 해보는 것을 첫번째로 잡았다.
회원가입 시 ID 영문, 숫자 검증 추가
관리자 요청 토큰 재발급 로직 수정 (authService를 의존하도록)
addressRespository -> addressService 주입
상수로 관리
S3부분에서 예외처리가 되어 있어서 s3Service를 사용하는 모든 메서드에 예외처리 -> 수정
게스트 계정 탈퇴 방지 추가 (편의를 위해 게스트 계정으로 로그인이 가능)
다음으로는 내가 맡은 회원 부분을 리팩토링 하였다.
- PetStatus 추가
- 회원 탈퇴 시 상태 변경
- 연관된 문제 📌
탈퇴한 회원의 프로필 이미지를 삭제하나 아예 회원이 삭제된 것이 아니기 때문에 회원 프로필 이미지를 펫 상태에 맞게 DOG / CAT 의 Default 이미지로 변경해주는 로직 추가
- 로직을 수정하면서 코드 리팩토링 (팀원분이 중복된 로직 메서드로 빼는것을 추천)
- 응답에 PetStatus 추가 (탈퇴한 회원 표시해주기 위해)
- 탈퇴한 회원 로그인 시 예외 처리
PetAuthenticationFailureHandler 에 로직 수정
petDetailsService 에 계정 활성화 여부 리턴에 로직 추가하여 PET_ACTIVE가 아니면 false
현재는 그냥 회원 상태만 변경하여 데이터를 그대로 보유하고 있는데 스케쥴러를 사용하여 일정 기간이 지나면 회원 데이터가 삭제되도록 로직을 구현해봐야겠다😂