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

UI 기능 명세서 2차

UI 기능 명세서

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

메인 페이지

notion image
notion image
notion image
notion image

로그인 페이지

notion image

회원가입 페이지

notion image
 

 

테마별 추천 페이지

notion image

 

테마별 결과 페이지

notion image
 

술장고 재료별 결과 페이지

notion image

술장고 재료 수정 모달

notion image

칵테일 상세정보 모달

notion image
notion image

 

재료 판매처 정보 페이지

notion image
 

마이 페이지

notion image
notion image

검색 결과 페이지

notion image

404 페이지

notion image

 
 
 
Tags
UI
Status
UI
메인 페이지 기능명세서
번호
UI명
기능
상세
비고
1
테마 별 레시피 컨테이너
테마 별 레시피 페이지로 이동
- Hover Event: - 영역 확장 - Click Event: - 영역 최대 확장 - 페이지 설명 및 이동 버튼 표시
2
술장고 별 레시피 컨테이너
술장고 별 레시피 페이지로 이동
- Hover Event: - 영역 확장 - Click Event: - 영역 최대 확장 - 페이지 설명 - 비로그인상태: 로그인 폼 표시 - 로그인상태: 페이지 이동 버튼 표시
- ContextAPI 로그인 여부 확인
3
돌아가기 버튼
영역 확장 이전으로 복귀
로그인 페이지 기능명세서
번호
UI명
기능
상세
비고
1
KaKao 로그인
KaKao OAuth로 로그인
- 가입 유저시, 이전 페이지로 이동 - 미가입 유저시, 회원가입 페이지로 이동
- OAuth redirect path를 해당 페이지로 설정 - 해당 페이지에 접근시, Query String 값을 확인하여 Access Token 있는지 확인. - Access Token이 있다면 서버로 POST login - 서버로부터 로그인 성공 응답시, 페이지 이동 - 로그인 페이지 이전 페이지 Url session storage에 저장. 이전 페이지 이동시 활용
2
Google 로그인
Google OAuth로 로그인
- 위와 상동
3
메인 로고 버튼
메인 페이지로 이동
회원가입 페이지 기능명세서
번호
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단계의 형태로 진행 상태 표시
테마별 추천 페이지 기능명세서
번호
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 - 실패 시 알림 효과
테마별 결과 페이지 기능명세서
번호
Name
기능
상세
비고
1
헤더
상동
-
-
캐러셀
상동
-
-
2
칵테일 리스트
칵테일 리스트 출력
- 검색 결과 칵테일 리스트 인기순 정렬 - 칵테일 아이템 클릭시 칵테일 상세정보 모달 생성
- 즐겨찾기수 기준 sort
3
뒤로가기
클릭 시 테마별 추천 페이지로 이동
- 현재 선택된 항목이 이동해서도 반영
- 현재 Query String 값 포함하여 이동
4
검색봇
상동
-
-
술장고 재료별 결과 페이지 기능명세서
번호
Name
기능
상세
비고
헤더
상동
1
재료컨테이너
- 유저 술장고에서 재료 표시/선택/수정 기능
- 주류/비주류로 구분 - 재료 중복 선택 - 수정 버튼 클릭시 술장고 수정 모달 표시
- 토글마다 api호출 없애기위해, 한번의 api 호출로 받을수 있는 모든 경우의 수의 칵테일 리스트 받아옴
2
칵테일 리스트
상동
- 사용자가 선택한 재료에 따른 칵테일 리스트 표시 - 재료 미선택시 가진 재료들로 만들수 있는 칵테일 리스트 표시
- 사용자의 재료목록으로 만들수있는 칵테일 리스트를 소유한 상태에서, 재료 선택 상태에 따라 filter
3
검색봇
상동
술장고 재료 수정 모달 기능명세서
번호
UI명
기능
상세
비고
1
네비게이션 탭
주류/비주류 목록 탭
- 탭을 이동하더라도 이전 탭에서 클릭 되었던 재료를 기억
- 각각의 목록이 아닌 탭에서 상태값 관리 - 재료 리스트와도 상태값 공유
2
재료 리스트
재료 표시 및 수정
- toggle을 통해 각 재료 선택 변경
-
3
선택 완료
새로운 술장고 갱신
- 최초 모달 진입시 선택된 재료값과 변경사항이 없을땐 미반영
- before와 after 배열 순환하며 변경 사항 확인 validate
칵테일 상세정보 모달 기능명세서
번호
UI 요소 명
기능
상세
비고
1
바깥쪽 모달
모달 제거
- 클릭시 모달 제거
2
안쪽 모달
칵테일 상세정보 표시
-
3
칵테일 사진
칵테일 이미지 표시
- 일정 간격으로 다음 사진으로 전환
- setInterval 각각의 image 미리 로드 ( 전환시 로딩 제거 )
4
칵테일명
칵테일명 표시
-
5
인기 칵테일 아이콘
인기 칵테일 마크 표시
- popular 여부에 따라 표시 - 툴팁으로 좋아요 개수 표시
6
즐겨찾기 버튼
유저 즐겨찾기 여부 표시 및 전환
- 즐겨찾기 상태에 따라 아이콘 fill 여부 결정
- debounce - API
7
네비게이션 탭
탭 전환
- 재료 및 주조법 / 사용자 리뷰 항목 - 선택된 탭 강조
8
재료
재료 이미지/명/단위/수량/소유여부 표시
- 미소유시 해당 재료 구매처 검색페이지 팝업
- Naver 쇼핑 API
9
주조법
칵테일 주조법 표시
10
리뷰 작성 폼
리뷰 작성 기능
- 이미지, 별점, 한줄평 작성
11
사용자 리뷰 리스트
사용자 리뷰 리스트 형태로 표시
- 이미지, 별점, 한줄평 표시 - 이미지 클릭시, 좌측의 칵테일 이미지 해당 이미지로 전환
- sorting을 위해 리뷰에 대한 좋아요 기능 고려
재료 판매처 정보 페이지 기능명세서
번호
UI명
기능
상세
비고
1
검색 재료명
검색 재료명 표시
- Query String으로 값 확인 - 값 받지 못할경우 알림과 함께 페이지 닫기
2
쇼핑 정보 리스트
쇼핑 정보 리스트 출력
- 이미지, 제목, 가격, 판매처, 링크 출력 - 링크 주소를 따로 명시하지 않고 해당 아이템의 Link화
마이 페이지 기능명세서
번호
UI명
기능
상세
비고
1
헤더
상동
-
-
2
캐러셀
마이 페이지 항목 전환
- 즐겨찾기 목록/ 회원정보수정 전환
- Query String으로 초기값 반영 및 상태 저장
3
칵테일 리스트
칵테일 리스트 표시
- 칵테일 아이템 클릭시 상세정보 모달 표시
- Query String에 칵테일ID 정보 저장
4
회원수정폼
회원정보 수정
- 닉네임, 성별, 나이, MBTI 정보 수정
- ContextAPI를 통해 유저객체 접근, 초기값 반영 - 각 정보 validate 검증 된 상태에서 수정 가능
검색 결과 페이지 기능명세서
번호
UI명
기능
상세
비고
1
헤더
상동
-
2
검색창
칵테일명, 재료명으로 칵테일 검색
- 실시간 검색 기능
- debounce 적용 - Query String을 통해 초기값 표시 및 상태 반영
3
칵테일 리스트
상동
-
404페이지 기능명세서
번호
UI명
기능
상세
비고
1
홈 버튼
메인페이지 이동
-
-
2
헤더
상동
-
-