HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
🍸
[팀15] ShakeNMatch
/
📄
UI 기능 명세서 1차
📄

UI 기능 명세서 1차

Tags
UI
Status
UI

UI 기능 명세서

참고 자료
  • 화면설계서 (Wireframe)와 기능명세서 (Functional Specification)

메인 페이지 기능

notion image
notion image
메인 페이지 기능명세서
번호
UI명
기능
상세
비고
1
테마 별 레시피 컨테이너
테마 별 레시피 페이지로 이동
- Hover Event: - 영역 확장 - Click Event: - 영역 최대 확장 - 페이지 설명 및 이동 버튼 표시
2
술장고 별 레시피 컨테이너
술장고 별 레시피 페이지로 이동
- Hover Event: - 영역 확장 - Click Event: - 영역 최대 확장 - 페이지 설명 - 비로그인상태: 로그인 폼 표시 - 로그인상태: 페이지 이동 버튼 표시
- ContextAPI 로그인 여부 확인
3
돌아가기 버튼
영역 확장 이전으로 복귀
 
 

로그인 페이지

notion image
로그인 페이지 기능명세서
번호
UI명
기능
상세
비고
1
KaKao 로그인
KaKao OAuth로 로그인
- 가입 유저시, 이전 페이지로 이동 - 미가입 유저시, 회원가입 페이지로 이동
- OAuth redirect path를 해당 페이지로 설정 - 해당 페이지에 접근시, Query String 값을 확인하여 Access Token 있는지 확인. - Access Token이 있다면 서버로 POST login - 서버로부터 로그인 성공 응답시, 페이지 이동 - 로그인 페이지 이전 페이지 Url session storage에 저장. 이전 페이지 이동시 활용
2
Google 로그인
Google OAuth로 로그인
- 위와 상동
3
메인 로고 버튼
메인 페이지로 이동
 
 
 

회원가입 페이지

notion image
회원가입 페이지 기능명세서
번호
UI명
기능
상세
비고
1
닉네임 Input
닉네임 입력
- 닉네임 중복 validation 체크
- API
2
성별 Input
남 / 녀 선택
- 중복 선택 불가
- radio
3
나이 Input
나이 입력
- 20세 ~150세 나이 제한
- validation
4
MBTI Input
MBTI 입력
- 중복 선택 불가 MBTI 종류
- select
5
완료 버튼
회원가입 정보 전달
- 진행 상태 4단계 시 활성화
- API
6
취소 버튼
이전 페이지 이동
-
7
메인 로고 버튼
메인 페이지 이동
-
회원가입 진행 상태
회원 정보 기입 여보 상태 표시
- 잔에 물이 차오르는 4단계의 형태로 진행 상태 표시
 

 

테마별 추천 페이지

notion image
테마별 추천 페이지 기능명세서
번호
UI명
기능
상세
비고
헤더
상동
1
대분류 캐러셀
대분류 선택
- vertical carousel - Scrollable - 상/하 버튼으로 항목 변경 가능 - 이전/ 다음 카드: Text만 보이는 형태로 배치하여 다음 카드 암시 - 캐러셀 전환시 Text를 제외한 부분 비가시화. 전환 완료되면 가시화 - 대분류 카드 종류: MBTI, Color, Music, Weather, Mood, Trending
- 전환시 animation - Query String에 대분류 정보 받아와 initialValue 설정 - 항목 변경시 Query String 값 변경
2
소분류 캐러셀
소분류 선택
- 대분류에 따라 소분류 종류 변경
- 위와 상동
3
다음 버튼
테마별 결과 페이지로 이동
- 현재 선택 상태 값 결과 페이지에 전달
- 이동시 Query String에 대분류 소분류 정보 포함
4
검색봇
칵테일명, 재료명 검색 기능
1자 이상, 문자,숫자만 허용
- submit 전 validation - 실패 시 알림 효과

 

테마별 결과 페이지

notion image
테마별 결과 페이지 기능명세서
번호
Name
기능
상세
비고
1
헤더
상동
-
-
캐러셀
상동
-
-
2
칵테일 리스트
칵테일 리스트 출력
- 검색 결과 칵테일 리스트 인기순 정렬 - 칵테일 아이템 클릭시 칵테일 상세정보 모달 생성
- 즐겨찾기수 기준 sort
3
뒤로가기
클릭 시 테마별 추천 페이지로 이동
- 현재 선택된 항목이 이동해서도 반영
- 현재 Query String 값 포함하여 이동
4
검색봇
상동
-
-

술장고 레시피 추천 페이지

notion image
술장고 재료별 결과 페이지 기능명세서
번호
Name
기능
상세
비고
헤더
상동
1
재료컨테이너
- 유저 술장고에서 재료 표시/선택/수정 기능
- 주류/비주류로 구분 - 재료 중복 선택 - 수정 버튼 클릭시 술장고 수정 모달 표시
- 토글마다 api호출 없애기위해, 한번의 api 호출로 받을수 있는 모든 경우의 수의 칵테일 리스트 받아옴
2
칵테일 리스트
상동
- 사용자가 선택한 재료에 따른 칵테일 리스트 표시 - 재료 미선택시 가진 재료들로 만들수 있는 칵테일 리스트 표시
- 사용자의 재료목록으로 만들수있는 칵테일 리스트를 소유한 상태에서, 재료 선택 상태에 따라 filter
3
검색봇
상동

술장고 재료 추가 모달

notion image
술장고 재료 수정 모달 기능명세서
번호
UI명
기능
상세
비고
1
네비게이션 탭
주류/비주류 목록 탭
- 탭을 이동하더라도 이전 탭에서 클릭 되었던 재료를 기억
- 각각의 목록이 아닌 탭에서 상태값 관리 - 재료 리스트와도 상태값 공유
2
재료 리스트
재료 표시 및 수정
- toggle을 통해 각 재료 선택 변경
-
3
선택 완료
새로운 술장고 갱신
- 최초 모달 진입시 선택된 재료값과 변경사항이 없을땐 미반영
- before와 after 배열 순환하며 변경 사항 확인 validate

레시피 모달

notion image
notion image
칵테일 상세정보 모달 기능명세서
번호
UI 요소 명
기능
상세
비고
1
바깥쪽 모달
모달 제거
- 클릭시 모달 제거
2
안쪽 모달
칵테일 상세정보 표시
-
3
칵테일 사진
칵테일 이미지 표시
- 일정 간격으로 다음 사진으로 전환
- setInterval 각각의 image 미리 로드 ( 전환시 로딩 제거 )
4
칵테일명
칵테일명 표시
-
5
인기 칵테일 아이콘
인기 칵테일 마크 표시
- popular 여부에 따라 표시 - 툴팁으로 좋아요 개수 표시
6
즐겨찾기 버튼
유저 즐겨찾기 여부 표시 및 전환
- 즐겨찾기 상태에 따라 아이콘 fill 여부 결정
- debounce - API
7
네비게이션 탭
탭 전환
- 재료 및 주조법 / 사용자 리뷰 항목 - 선택된 탭 강조
8
재료
재료 이미지/명/단위/수량/소유여부 표시
- 미소유시 해당 재료 구매처 검색페이지 팝업
- Naver 쇼핑 API
9
주조법
칵테일 주조법 표시
10
리뷰 작성 폼
리뷰 작성 기능
- 이미지, 별점, 한줄평 작성
11
사용자 리뷰 리스트
사용자 리뷰 리스트 형태로 표시
- 이미지, 별점, 한줄평 표시 - 이미지 클릭시, 좌측의 칵테일 이미지 해당 이미지로 전환
- sorting을 위해 리뷰에 대한 좋아요 기능 고려

상품 정보 검색 결과 페이지

notion image
상품 정보 검색 결과 페이지
번호
Name
카테고리
기능 상세
특이 사항
1
재료 이름
Text
1. query string으로 재료 이름을 받아와 출력. 2. 재료가 없을경우 경고 모달을 띄운후, 해당 창을 닫는다.
2
쇼핑 정보 리스트
List
네이버 쇼핑 api로부터 받은 정보를 출력한다. 1. 가격 2. 이미지 3. 제목 4. 링크 5. 판매처 * 링크 주소를 따로 명시하지 않고, 해당 리스트 아이템 (li) 클릭시, 해당 페이지 새 탭을 연다.
 

마이 페이지

notion image
notion image
 

검색봇 결과 페이지

notion image

404 페이지

notion image

관리자 페이지