📌 Scope ?
- 위시리스트 테이블 및 기능 설계
- 이메일/비밀번호 찾기 기능 구현
- 사용자 폰 번호 추가 (회원정보 확장) -> 이메일 찾기 기능에서 사용하기 위
- 리뷰 좋아요(ReviewLike) 테이블 추가
- 홈화면에 '핫리뷰' 기능 추가 (조회 API, 향후 정렬 방식 고도화 예정)
1. 위시리스트 테이블 및 기능 설계
기존 사용자 데이터와 별도로 "가고 싶은 맛집"을 저장할 수 있는 기능이 필요해서 WishList 테이블을 새로 설계하였습니다.
이 테이블은 유저와 음식점 사이의 다대다(N:N) 관계를 단순화하여 구성했고, 다음과 같은 필드를 포함하였습니다.
- 프론트에서는 특정 음식점 상세페이지에서 '위시리스트 담기' 버튼을 통해 추가 가능 ( 기능 개발 중 )
- 저장된 리스트는 마이페이지 > ‘내 리스트’ 탭에서 확인 가능하도록 구성 ( 기능 개발 중 )
2. 계정 기능 개선 – 이메일/비밀번호 찾기
사용자 계정 관련 편의성을 개선하기 위해 이메일 찾기 / 비밀번호 재설정 기능을 추가하였습니다.
비밀번호 찾기
- 이메일 기반으로 비밀번호 재설정 토큰을 발급하고, 해당 토큰이 포함된 링크를 이메일로 전송
- 사용자는 링크 클릭 후 새로운 비밀번호를 설정할 수 있음
이메일 찾기
- 사용자가 본인의 이름 + 전화번호를 입력하면, 가입된 이메일을 조회하여 반환
보안 고려사항
- 토큰은 1회성 & 만료시간 부여 (서버단에서 검증)
- 유효하지 않은 토큰인 경우 에러 반환
추후 링크를 버튼으로 변경, 이메일 형식 템플릿화할 계획입니다.
3. 사용자 모델 확장 – 휴대폰 번호 추가
가입 시 입력받은 이름/이메일 외에도 휴대폰 번호를 추가하여, 인증 수단 다양화 및 이메일/비번 찾기 기능 구현에 사용하였습니다.
- DB 필드: phone_number (문자열)
- 회원가입 / 프로필 수정 시 함께 입력 가능
- 이메일 찾기 시에도 이름 + 번호 조합으로 탐색
@Override
public String findEmailByUsernameAndPhone(String username, String phone_number) {
User user = userRepository.findByUsernameAndPhoneNumber(username, phone_number)
.orElseThrow(() -> new RuntimeException("입력하신 정보와 일치하는 계정을 찾을 수 없습니다."));
return user.getEmail();
}
4. 리뷰 좋아요 기능 – ReviewLike 테이블 설계 및 연동
인기 리뷰를 파악할 수 있도록 리뷰 좋아요 기능을 추가하였습니다.
- 하나의 유저는 하나의 리뷰에 단 1개의 좋아요만 가능 (유니크 제약 고려)
- 좋아요 toggle 기능 (눌렀다 → 해제 가능)
- 프론트에서는 버튼 UI 상태에 따라 활성/비활성화 표시
향후 활용 계획
- 홈화면 핫리뷰 정렬 기준에 반영 ex) 좋아요 많은 순 ( 예정 )
- 유저의 좋아요 목록을 따로 불러오는 기능도 고려 중 ( 예정 )
5. 홈화면 핫리뷰 기능 구현
처음으로 홈화면에 '핫리뷰' 영역을 추가하였습니다.
- 상단 영역에서 3개의 리뷰를 슬라이드 형식으로 보여줌
- 현재는 최신 등록 리뷰 중 랜덤 3개를 불러오고 있지만,
- 향후에는 리뷰 좋아요 수 순으로 정렬하여 보여줄 계획 ( + 지역도 구분해서 추가할 예정 )
슬라이드 로직
- 일정 시간마다 인덱스를 순회하면서 자동 슬라이드
- 리뷰가 3개 이하일 경우 자동 순환 중지
- 썸네일, 별점, 코멘트, 음식점명 등을 함께 표시
TO DO :
1. 카카오 로그인 이메일찾기 / 비밀번호 찾기 시나리오 일단 보류, (추후 판단 후 변경 or 유지)
2. 비밀번호 찾기, 이메일찾기, 비밀번호 변경 FE 페이지 만들기 ( 희범 )
3. 비밀번호 찾기 이메일 관련(토큰 안보여주고 버튼을 통해서 바꾸러갈 수 있게끔) (인규)
4. 회원가입때 이름/폰번호 입력받게끔 (회원가입 페이지 변경 & DB user 테이블 필드추가 (이름, 폰번호) (희범)
5. MAP 다음주 까진 꼭...
'Project > 나혼자 미슐랭' 카테고리의 다른 글
나혼자 미슐랭 개발일지 #10 – AWS 배포 준비 ( DEV / PROD 분리 ) (0) | 2025.08.25 |
---|---|
나혼자 미슐랭 개발일지 #7 – 로그인 / 회원가입 / 카카오 로그인 기능 구현 (0) | 2025.05.27 |
나혼자 미슐랭 개발일지 #6 – 리뷰 이미지 S3 업로드 및 출력 기능 (1) | 2025.05.24 |
나혼자 미슐랭 개발일지 #5 – 마이페이지 및 프로필 수정 기능 구현 (0) | 2025.05.17 |
나혼자 미슐랭 개발일지 #4 – 리뷰 작성과 리스트 페이지 완성(무한스크롤 & 필터) (3) | 2025.05.15 |