3️⃣

9/11(수) 스크럼

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 시 브랜치 충돌을 최소화하는 방법 공유