FE
[논의 사항]
1. 회원정보 수정 시 선호주종 변경 적용 가능한지
•
msw는 영구 저장이 불가능하므로, zustand를 이용해 마이페이지에서도 변경 사항을 실시간으로 반영할 수 있도록 구현 예정
2. 목데이터 구성 및 대체 계획
•
API 명세서를 참고하여 5~6개의 목데이터를 구성
•
현재는 목데이터를 많이 구성하는 것보다는 기능 구현이 우선이며, 추후 운영 비용을 고려해 msw나 firestore로 대체할 계획
3. 목데이터 PR 진행 방식
•
목데이터가 여러 컴포넌트에서 사용되므로, 목데이터만 먼저 PR을 진행
•
파일은 public/specialtyDrink.json으로 구성하며, 브랜치 이름은 feature/post-mock-data로 구성
•
추후에 public이 아닌 다른 폴더에 옮길 예정
4. drinkType 및 type 한글 매핑
•
API response에서 영어로 제공되는 타입들을 한글로 매핑할 예정
5. 게시글 상세 페이지 UI 재구성
•
주종, 도수, 당도, 별점을 하나로 묶고 포스팅 내용은 아래에 배치
•
주류 이름은 게시글 작성 페이지와 동일하게 맨 위에 배치
•
태그는 스크롤로 처리할 계획
6. 명세서 수정 사항 요청 (BE)
•
데이터 필드 이름을 카멜 케이스 또는 스네이크 케이스 중 하나로 통일 요청
•
‘전체 게시글 조회’ imageUrl 컬럼 추가 요청
7. description 컬럼 설명
•
특산주 신청 시 작성하는 설명 필드로 앱 UI에서는 노출되지 X
•
특정 날 메일 발송 시 첨부할 컬럼
8. 유효성 검사
•
닉네임 최대 10글자는 14px 폰트에서 UI가 깨지기 때문에 최대 7글자가 적당함
•
나머지 유효성 검사는 필수로 진행할 예정
9. 검색 페이지 검색 방법
•
검색창에 #가 포함되면 태그 검색, 포함되지 않으면 포스팅 내용 검색으로 구분 어떤지?
•
검색 방법 두 가지가 동시에 들어갈 경우 처리하기 어려울 수 있음
•
내용 검색 시 자동완성 기능이 서버 부하를 초래할 수 있기에 해당 부분 재검토 필요
10. 메인 페이지 및 게시글 상세 페이지 이미지 기준
•
1순위: 유저가 등록한 사진
•
2순위: 유저가 사진을 등록하지 않은 경우, 특산주 신청 사진으로 대체
[프로젝트 진행 사항]
1. 로그인
•
기본 로그인 및 회원가입 (완료)
•
소셜 로그인 (완료)
2. 메인 페이지
•
무한 스크롤 (완료)
•
CardItem 목데이터 구성 (완료)
•
탭 기능 (완료)
•
select 필터링 (오류 디버깅중)
3. 게시글 상세 페이지
•
CardItemDetail 목데이터 구성 (완료)
•
Post UI 재구성 (진행중)
4. 마이페이지
•
SpecialtyDrink 목데이터 구성 (완료)
•
선호주종 변경 시 badge 변경 (완료)
•
지역 선택 기능 (FE/BE 논의 끝에 삭제)
•
Region 목데이터 구성 (완료)
[12일 진행 예정]
1.
로그인/회원가입 : 유효성 검사 진행
2.
메인 페이지 : select 디버깅
3.
게시글 상세 페이지 : Post UI 재구성, 댓글 목데이터 구성
4.
검색 페이지
5.
마이 페이지
6.
특산주 신청 페이지
BE
1.서로 진행사항 공유
•
프론트: 메인 페이지 UI, 게시글 상세 페이지, 댓글, 마이페이지 기능, 소셜 로그인 기능 등을 진행 중
•
백엔드: 추천 기능, 알림, 검색, AWS 이미지 업로드 기능 등이 남아 있으며, API 명세서의 수정 사항을 체크 중
•
배포 관련해서 프론트는 vercel, 백엔드는 AWS 따로 배포
2. API 명세서 수정 요청
•
이미지 필드 추가: 게시글 DB에 imageUrl 필드를 추가하여 사용자 게시글 작성 시 업로드할 사진 url 저장
•
명세서 필드 네이밍: 데이터 필드 이름을 카멜 케이스 또는 스네이크 케이스로 통일 필요
3. GPS 기반 지역 정보 및 추천 기능 논의
•
로그인 시 GPS 정보를 받아 현재 지역을 확인하고, 해당 지역에 기반한 특산주를 추천하는 기능 논의
•
첫 로그인 후, 메인 페이지 접속 시 GPS 기반으로 지역 정보가 업데이트되고 추천이 이루어짐
•
즉, 로그인할 때마다 GPS 정보를 받아오는 방식으로 진행
•
사용자 위치 정보를 매번 입력받기보다는 이전 접속한 GPS 정보를 DB에 저장하고, 필요 시 수동으로 업데이트하는 방식 도입(현 위치)
•
캐시를 사용해 지역별 특산주를 추천. 캐시 데이터는 주기적으로 삭제해 실시간 인기 특산주를 추천
•
회원가입 시 거주지 정보를 삭제하고, 이를 최초에는 null 값이었다가 해당 이메일로 로그인시 GPS 위경도값으로 대체
4. 개인정보 사용 동의 및 지역 정보
•
GPS 위치 정보 제공 동의를 받으며, 로그인 시마다 현재 위치 정보를 업데이트할 수 있는 기능 도입
5. 추천 기능 정리
•
메인 페이지 최초 접속 시 현 위치 GPS 기반으로 자동 추천
•
사용자가 버튼을 눌러 현재 위치 기반으로 특산주를 추천하는 수동 추천
6. 기능 추가 논의
•
SNS 공유 기능, 날씨 기반 특산주 추천, 특산주 비교 기능 등의 추가 기능 제안
•
GPS 위치기반 서비스를 도입한만큼 위치기반 기능을 더욱 강조하고자 추가 개발할 관련 기능 아이디어 논의
7. 유효성 검증 기준 논의
•
이름(닉네임): 2~10글자
•
비밀번호: 8자 이상 15자 이하, 소문자, 대문자, 숫자 및 특수문자를 모두 포함
•
메일: @ 들어간 메일 형식
•
생일: 오늘보다 과거일자여야함
•
특산주 이름 길이 : 최소 2자, 최대 50자
•
특산주 설명 길이 : 최소 10자, 최대 500자
•
댓글 길이 : 최소 10자, 최대 2000자
•
게시글 길이 : 최소 10자, 최대 3000자
•
신고글 길이 : 최소 10자, 최대 1000자
8. 알림 기능 정의
•
작성 게시판 댓글에 대한 알림은 on/off 설정 가능
•
신고 게시판의 경우 승인/반려 알림이 작성자에게 전송되는 방식으로 변경
•
총 3개 알림은 태그를 팔로우한 사람, 작성 게시판(Post) 댓글, 신고 게시판 댓글
9. 사진 업로드
•
게시글 작성 시 사진 업로드는 필수 아님. 사진이 없을 경우 특산주 이미지로 대체
•
특산주 등록 -> 사진 필수
•
게시글 등록 -> 사진 max 1개 선택
•
메인 페이지에 뜨는 썸네일과 상세 페이지 사진은 아래 순위로 노출할 예정
◦
1순위 : 유저가 등록한 사진
◦
2순위 : 유저가 사진을 등록하지 않은 경우 등록된 특산주 사진
10. Branch 전략
•
리팩토링이나 테스트 코드는 별도의 브랜치로 작업 후 PR을 진행하는 것으로 논의. Merge 시 브랜치 충돌을 최소화하는 방법 공유