Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] 회원가입 API #11

Merged
merged 18 commits into from
Jan 21, 2024
Merged

[FEATURE] 회원가입 API #11

merged 18 commits into from
Jan 21, 2024

Conversation

mungmnb777
Copy link
Contributor

Issue ticket link and number

Describe changes

  • 회원가입 API를 구현하였습니다.
  • 회원가입에 필요한 이메일 중복 체크, 닉네임 중복 체크 API를 구현하였습니다.
  • ErrorResponse 클래스의 Json 직렬화가 되지 않는 버그를 수정했습니다.

Notification for Reviewer

  • 회원가입 시 전용 재료를 인벤토리를 넣을 때, stockQuantity를 10억을 INF로 정하여 넣었습니다. 그런데 굳이 전용 재료를 인벤토리에서 관리할 필요가 있을까라는 생각이 들었습니다. 인벤토리에 전용 재료를 넣은 후, 재고를 늘리거나 올릴 일이 없다고 생각합니다. 그래서 인벤토리에 전용 재료를 삽입하는 로직을 뺄까 생각하는데 어떻게 생각하시나요?

요약

  1. 회원가입 시 인벤토리에 전용 재료를 넣는다.
  2. 회원가입 시 인벤토리에 전용 재료를 넣지 않는다.

감사합니다.

@mungmnb777 mungmnb777 added the feat feature label Jan 19, 2024
@mungmnb777 mungmnb777 requested a review from h-beeen January 19, 2024 14:50
@mungmnb777 mungmnb777 self-assigned this Jan 19, 2024
Copy link

코드 리뷰 요청합니다 🙆 @h-beeen

@h-beeen
Copy link
Contributor

h-beeen commented Jan 21, 2024

회원가입 시 인벤토리에 전용 재료를 넣는다.
회원가입 시 인벤토리에 전용 재료를 넣지 않는다.

회원 가입시 인벤토리에 전용 재료를 넣지 않는 로직으로 작성하는 것에 대해 한표를 던지고 싶습니다.

  1. 10억이라는 큰 INF 로 관리하는 것은, 현실적으로 절대 터질 일이 없지만, 이론적으로 불안정한 설계라는 의견을 드리고 싶어요.
  2. 만약 유저가 회원가입 한 이후, 신규 재료가 추가된다면? 해당 유저의 떡국 재료를 조회하는 과정에서 NPE 발생 이슈도 있을 것 같아요.

회원가입후, 최초 재고 및 인벤토리를 어떻게 관리해야 할 지 조금 고민해봐야 할 것 같아요!

@h-beeen h-beeen merged commit 563420c into develop Jan 21, 2024
2 checks passed
@h-beeen h-beeen deleted the feat/#10-join branch January 21, 2024 12:39
Copy link

성공적으로 Merge 되었습니다. Shout out to @h-beeen 😉

@@ -6,5 +6,6 @@
import com.tteokguk.tteokguk.member.domain.Member;

@Transactional
public interface MemberRepository extends JpaRepository<Member, Long> {
public interface MemberRepository<T extends Member> extends JpaRepository<T, Long> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 부분을 이런 방식으로 설계하신 이유가 있을까요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Member는 SimpleMember와 OAuthMember로 나누어지게 됩니다.

각각 Member를 상속한 엔티티로 관리되는데, 리포지토리도 상속 관계를 따라서 구현하기 위함이었습니다.

이렇게 하면 추상 메서드의 중복을 줄일 수 있으리라 생각해서 위와 같이 설계하였습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat feature
Projects
Development

Successfully merging this pull request may close these issues.

2 participants