depromeet/SPOT-server

[제안] Level 도메인 분리

Closed this issue · 3 comments

💁‍♀️ 제안 사항

현재 Member 도메인 내에서 관리되고 있는 Level 정책을 별도의 도메인으로 분리해요.

[ AS-IS ]

  • Member 클래스 멤버 변수로 레벨이 존재하고, 멤버 메서드로 레벨 생성기가 존재

[ TO-BE ]

  • Level 도메인과 Member 도메인을 분리
  • Level 테이블 (+ 맵핑될 엔티티) 추가
    • Level 도메인에서 레벨 정책, 칭호, 그래픽을 모두 관리해요.

👀 제안 이유

  • 1차 MVP때는 레벨 관련 정책이 적었으나, 2차 기준 요구사항이 추가됨
  • 레벨 로직을 확인하기 위해 멤버 도메인을 확인하는 것이 부자연스럽다고 생각됨
  • 현재 레벨 관련 정보를 파악하려면 멤버, 리뷰, 레벨 총 세 개의 도메인을 거쳐야 하는데, 이 과정이 번거로움

✅ 참고 사항

  • 현재 Level 컬럼만으로 관리하기엔 이후 요구사항에 대한 구현이 비효율적
  • 레벨이 멤버에서만 사용되는 것이 아님
  • 레벨 정책과 칭호, 그래픽을 앱에서 관리하기에 어려움
    • 변경 사항이 있을 경우 이전 버전 앱을 사용하게 되면 유저 입장에서 일관성이 깨질 수 있음
    • 변경 사항에 대해 유연한 대처가 어려움

동의!

작업 진행하기로 결정~ 티켓은 이거 참고해주세용

resolved by #96