Tiny Star

🏕️내일배움캠프/📂개발자를 위한 공모전 사이트(23.08.16)

개발자를 위한 공모전 사이트 (&&) 7일 _ 실시간 상태 업데이트/하위 카테고리 구현 방향 결정 및 유저 관리 CRUD

청크 2023. 8. 24. 21:45

스파르타 코딩클럽_ 내일 배움 캠프 Spring 트랙 6기

[프로젝트] 개발자를 위한 공모전 사이트 (&&)

2023.08.16 ~ 2023.09.15

 

<프로젝트 정보>

개발도구 : IntelliJ

프로그래밍 언어 : Java

데이터베이스 : MySQL

프레임워크 : Spring / Spring Boot / Spring Security

와이어프레임 : Figma

ERD 설계 : ERD Cloud

Storage : AWS S3

Front : HTML / CSS / JavaScript / JQuery / Bootstrap

 

<프로젝트 내용>

전 날 회의를 했던 하위 카테고리 뎁스 처리 방식은 셀프 참조방식과 Entity 연관관계 중 1개를 선택해야하는데

오늘 아침에 결국 대분류/중분류/소분류 카테고리 별로 Entity 를 생성하는 방안으로 결정했다.

 

추가로 내가 구현하기로 한  유저 관리 CRUD(블랙리스트 제재 방향)을 오늘부터 시작했다.

 

userRepository에서 userId를 가져와 Id존재 여부를 확인한 후

userBlackListRepositoy에 savs시키고 userRepository에서 유저의 정보를 삭제시키는 방향으로  

생각해서 Service 를 아래와 같이 구현했다.

    public UserBlackListRequstDto registerUser(Long userId, UserBlackListRequstDto userBlackListRequstDto) {
        User user = userRepository.findByUserId(userId)
               .orElseThrow(() -> new IllegalArgumentException("해당 유저를 찾을 수 없습니다."));

        UserBlackList userBlackList = new UserBlackList(userBlackListRequstDto.getUserId());
        userBlackListRepository.save(userBlackList);
//        userRepository.delete(user);

그러다 갑자기 든 생각..

userRepository에서 delete를 날리면 유저가 완전히 삭제되서... 복구 시킬 때 문제가 발생하는 점을 깨달았다.

 

개발 관점을 물의를 일으켜 블랙리스트가 된 유저를 완전히 탈퇴를 시킬건지,

일정 기간 후 복귀를 시킬 건지에 따라 구현 방향이 달라질 것 같아서 이 부분은 팀원들과 다시 협의를 통해..

결정하고 마저 구현 할 예정이다.