HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🌟
Programmers 최종 플젝 6조
/
🎬
[프론트] 상세 시나리오 설계
🎬

[프론트] 상세 시나리오 설계

기준

💡
저희는 다음과 같은 기준으로 상세 시나리오의 우선 순위를 정의합니다.
상 - must do(이거 없으면 안된다, 기본)
중 - should do(있으면 좋은데 없어도 괜찮다, 옵션)
하 - may do(보내도 된다, 부가)
📄
요구사항 명세

상세 네이밍 컨벤션

이벤트의 정의 : 쿠폰 발급? 할인 행사? 참가하는 일정?
 
사용자 시나리오
API
완료 여부
ID
화면단위
컴포넌트
주체
조건
결과
담당자
비고
1
로그인 페이지
공통
사용자
유효한 토큰이 없으면 구체적인 액션(리뷰, 즐겨찾기, 좋아요 등)을 취할 시
로그인 페이지로 이동한다.
액션: 리뷰, 즐겨찾기, 좋아요, 예약
2
로그인 페이지
로그인 폼
사용자
폼에는
ID, 비밀번호를 작성할 수 있다.
User
Market
3
로그인 페이지
버튼
사용자
올바른 ID와 비밀번호를 입력하여 클릭시
메인 페이지로 이동한다.
4
로그인 페이지
버튼
사용자
ID나 비밀번호가 누락되어 클릭 시
기입하라는 문구를 출력한다.
만약 버튼을 클릭했을 때에는 얼리리턴을 할 수 있도록 한다.
User
로그인 API
5
로그인 페이지
버튼
사용자
옳지 않은 ID와 비밀번호를 입력후 클릭 시
정보가 올바르지 않다는 문구를 출력한다.
ID가 없다면 → ID가 없다는 메시지 출력하는 로직도 고려해보면 좋을 듯하다.
6
로그인 페이지
버튼
회원가입 링크
사용자
사용자가 회원가입 링크를 클릭하면
회원가입 페이지로 이동한다.
7
회원가입 페이지
회원가입 폼
사용자
폼에는
이메일, 비밀번호, 비밀번호 확인, 닉네임을 작성할 수 있다.
더 추가할 게 있는지 고려
User
이메일 조회 API
8
회원가입 페이지
회원가입 폼
버튼
사용자
이메일 중복 체크 버튼을 클릭하면
기존 이메일이 존재하는지 확인할 수 있다.
9
회원가입 페이지
회원가입 폼
버튼
사용자
모든 정보를 올바르게 입력했다면
회원가입 완료 버튼이 활성화된다.
User
이메일 조회 API
10
회원가입 페이지
회원가입 폼
사용자
이메일 중복 체크 결과 기존 이메일이 존재한다면
이메일이 이미 있다는 메시지를 출력한다.
11
회원가입 페이지
회원가입 폼
사용자
이메일, 비밀번호, 비밀번호 확인, 닉네임 중 하나가 올바르게 입력되지 않았다면
회원가입 버튼이 비활성화된다.
User
회원가입 API
12
회원가입 페이지
회원가입 폼
사용자
활성화된 회원가입 완료 버튼을 클릭하면
"회원가입이 완료됐습니다"라는 메시지를 모달로 띄운다.
13
회원가입 페이지
회원가입 완료 모달
사용자
사용자가 모달의 확인버튼을 클릭하면
자동으로 로그인을 완료하고 메인페이지로 이동한다.
User
로그인 API
14
회원가입 페이지
로그인 링크
버튼
사용자
사용자가 회원가입 도중 로그인 링크를 클릭하면
로그인 페이지로 이동한다.
로그인 바로 되는거 백엔드와 상의 우선순위 낮음
Event
완료 여부
15
메인 페이지
이벤트 리스트
사용자
사용자가 메인페이지로 이동하면
헤더와 이벤트리스트를 보여준다.
Event
완료 여부
16
메인 페이지
이벤트 리스트
사용자
사용자가 정렬에 관한 버튼을 클릭하면 (최신, 거리, 추천, 이용자, 만족도)
정렬 조건에 맞는 리스트를 순서대로 보여준다.
완료 여부
17
메인 페이지
주소
사용자
사용자는 주소 이름 + 화살표로 이루어진 컴포넌트를 클릭하면
주소 변경 모달을 볼 수 있다.
Event
완료 여부
18
메인 페이지
이벤트 카드
사용자
이벤트 카드를 클릭하면
이벤트 상세 페이지로 이동한다.
Event
완료 여부
19
메인 페이지
이벤트 카드
사용자
좋아요 버튼을 누르면
좋아요 버튼이 색이 채워지거나 지워진다.
이벤트에 대한 좋아요 버튼
20
헤더
로고
사용자
사용자는 로고를 클릭하면
메인 페이지(홈)으로 이동한다.
21
헤더
햄버거메뉴
사용자
햄버거 메뉴를 누르면
메뉴 목록이 열린다
통계 - 우선순위 낮으므로 추후 고려
22
헤더
햄버거메뉴
사용자
열린 상태에서 메뉴 바깥을 다시 누르면
메뉴 목록이 닫힌다
따로 닫기 버튼이 있어야된다.
User
Event
즐겨찾기 조회 API
23
헤더
햄버거메뉴
사용자
즐겨찾기를 누르면
이벤트 즐겨찾기 페이지로 간다.
User
Event
24
헤더
햄버거메뉴
사용자
활동내역을 누르면
활동내역 페이지로 이동한다.
User
25
헤더
햄버거메뉴
사용자
프로필 수정을 누르면
프로필 수정 페이지로 이동한다.
User
26
헤더
햄버거메뉴
사용자
사업자 전환을 누르면
사업자 전환 페이지로 간다.
User
가게 조회 API
Market
27
헤더
햄버거메뉴
사업자
가게보기를 누르면
가게 페이지로 넘어간다.
User
로그아웃 API
28
헤더
햄버거메뉴
사용자
로그아웃을 누르면
로그인 페이지로 이동한다.
User
Event
29
즐겨찾기/좋아요 페이지
사용자
사용자가 즐겨찾기/좋아요 페이지로 이동한다면
자신의 닉네임, 탭, 좋아요한 이벤트 리스트가 보인다.
Event
User
User_like_history
30
즐겨찾기/좋아요 페이지
탭
사용자
이벤트(좋아요) 탭을 누르면
좋아요한 이벤트 리스트가 보인다.
User
Event
User_fav_history
31
즐겨찾기/좋아요 페이지
탭
사용자
가게(즐겨찾기) 탭을 누르면
즐겨찾기한 가게리스트가 보인다.
Event
Review
Event_review_history(리뷰까지 합한 응답 반환)
32
즐겨찾기/좋아요 페이지
이벤트 카드
사용자
이벤트 카드를 누르면
이벤트 상세 페이지로 넘어간다.
Market
33
즐겨찾기/좋아요 페이지
가게카드
사용자
가게카드를 누르면
가게 페이지로 넘어간다.
User
Event
User_event_history
38
활동내역 페이지
사용자
현재 페이지로 이동 시
참여한 이벤트를 리스트로 보여준다.
User
Event
User_event_history
39
활동내역 페이지
탭
사용자
참여한 이벤트 탭을 누르면
참여한 이벤트 목록을 보여준다. (참여전, 참여중, 참여완료)
User
Review
User_review_history
40
활동내역 페이지
탭
사용자
내가 쓴 리뷰 탭을 누르면
내가 쓴 리뷰 목록을 보여준다.
User
Review
User_review_history
41
활동내역 페이지
다른 사용자
현재 페이지로 이동 시
다른 사용자의 참여 수, 작성리뷰수와 리뷰리스트가 달린 페이지를 보여준다.
방문가게 수는 사용자의 참여수와 의미가 겹치고 함께쓴다면 의미를 없애는 태그라 생각하여 삭제 → 쥬디와 대화해야됨
User
42
사업자 전환 페이지
버튼
사용자
사업자 전환 버튼을 누르면
'신청되었습니다'라는 문구가 나오고, 페이지로 이동한다
사업자 전환에 대한 과정은 백엔드와 추후협의
Market
Event
43
가게보기페이지
사업자
현재 페이지로 이동 시
가게 정보와 이벤트 리스트를 보여준다.
44
가게보기페이지
버튼
사업자
새로운 쿠폰을 누르면
쿠폰을 생성하는 페이지로 이동한다
Market
45
가게보기페이지
버튼
사업자
연필아이콘을 누르면
textarea가 생겨 사용자가 가게소개를 수정 할 수 있다.
46
이벤트 생성 페이지
인풋창
제목
사업자
클릭하면
제목을 입력할 수 있다.
47
이벤트 생성 페이지
인풋창
내용
사업자
클릭하면
이벤트 내용을 입력할 수 있다.
48
이벤트 생성 페이지
인풋창
사진
사업자
클릭하면
사진을 한장 추가할 수 있다.
49
이벤트 생성 페이지
인풋창
기간
사업자
클릭하면
달력에서 이벤트 기간을 작성할 수 있다.
Event
50
이벤트 생성 페이지
버튼
사업자
만들기 버튼을 클릭하면
이벤트가 생성된다.
User
User_fav_history
Market
완료 여부
51
이벤트 상세 페이지
버튼
사용자
즐겨찾기 버튼을 누르면
즐겨찾기가 된다.
User
User_like_history
Event
완료 여부
52
이벤트 상세 페이지
버튼
사용자
좋아요 버튼을 누르면
좋아요가 추가되고, 좋아요 취소 버튼으로 바뀐다.
Market
Review
완료 여부
53
이벤트 상세 페이지
버튼
사용자
전체보기 버튼을 누르면
리뷰를 n개 더 볼 수 있다.
전체보기 1. 전체보기는 리뷰페이지로 이동하기 2. 스크롤을 한다면 헤더만 고정
완료 여부
54
이벤트 상세 페이지
버튼
사용자
리뷰생성버튼을 누르면
리뷰페이지로 이동한다.
1. 참여하기(사용자) 2. 참여확인(사업자) 3. 리뷰쓰기(사용자)
User
59
이벤트 상세 페이지
이벤트 카드
사용자
로그인 되지 않은 사용자가 즐겨찾기를 누르면
로그인 하라는 모달창과 함께 로그인 페이지로 이동한다.
Review
60
전체 리뷰 조회 페이지
리뷰 리스트
사용자
스크롤을 할 때 특정 구간이 되면
API를 요청하여 리뷰를 n개 더 볼 수 있다(무한 스크롤)
Review
63
전체 리뷰 조회 페이지
리뷰 리스트
사용자
사용자는 리뷰 조회 페이지에 들어가면
전체 리뷰 내용을 볼 수 있다.
Review
64
전체 리뷰 조회 페이지
이벤트 상세 헤더
사용자
사용자는 스크롤 할 때
이벤트 상세 헤더는 고정된 채로 리뷰를 볼 수 있다.
55
리뷰 생성 페이지
인풋창
내용
사용자
클릭하면
리뷰내용을 작성할 수 있다.
56
리뷰 생성 페이지
인풋창
사진
사용자
클릭하면
사진을 추가할 수 있다.
Market
61
가게보기페이지
모달
사업자
사업자는 자신의 소개를 업데이트하지 않은 상태라면(처음 전환한 상태라면)
모달로 상세 정보를 입력하라는 정보를 전달 받는다.
Market
62
가게보기페이지
인풋창
사업자
사업자는 기존에 상세 소개 내용이 없었다면
주소: OO시 OO구 OO동 OOO 운영시간: OO시~OO시 와 같은 양식을 placeholder로 볼 수 있다.
34(후순위)
프로필 페이지
사용자
사용자가 현재 페이지로 이동 시
닉네임, 비밀번호를 작성할 수 있다.
후순위입니다! 일단 예시 만들어놓음
User
35(후순위)
프로필 페이지
프로필 폼
사용자
닉네임 변경 버튼을 누르면
닉네임을 변경한다
후순위입니다! 일단 예시 만들어놓음
User
36(후순위)
프로필 페이지
프로필 폼
사용자
비밀번호 변경 버튼을 누르면
비밀번호 변경한다.
후순위입니다! 일단 예시 만들어놓음
User
Event
User_event_history
58 (후순위)
메인 페이지
이벤트 카드
사용자
리스트를 조회할 때
조회 정보, 이벤트 과거 참여 정보를 구분할 수 있는 카드 형태를 볼 수 있다. (색상 변경이라던지)
후순위!!!
 
 
  • 정렬 기준 - 최신~종료 임박
  • 정렬 기준 - 거리
  • 정렬 기준 - 추천 순
  • 정렬 기준 - 이용자 수
  • 정렬 기준 - 만족도 순
 
 

ERD 1차 설계


notion image
  • 테이블 간 관계 설정 및 PK, FK 필드만 추가한 상태입니다.
 
데이터
Name
features
사용자
작성된리뷰수
가게즐겨찾기수
누른좋아요수
마켓
받은좋아요수
받은리뷰수
진행한이벤트수
리뷰
내용
작성한사용자
사진5개
이벤트
작성된리뷰수
마켓이름
유효기간
받은즐겨찾기수
 

역할

  • 로그인, 프로필페이지: 티모
  • 메인페이지: 쥬디
  • 상세페이지: 제이슨
  • 가게페이지, 유저페이지: 라니
 

로그인페이지

로그인 화면 → 사용자 요구하는 데이터는
  1. 이메일
  1. 비밀번호
 

회원가입

  1. 이메일
  1. 비밀번호
  1. 닉네임
  • 이메일 중복 체크할 수 있는 API 존재해야 함.

메인 페이지

  1. 이벤트
      • 이벤트 마감일
      • 이벤트 제목
      • 가게 이름
      • 이벤트 좋아요 개수
      • 이벤트 리뷰 개수
      • 이벤트 사용자가 눌렀는지 구별 가능
      • 정렬에 대해서 (각 멘토에게 확인 후 결정)
        • 처음 렌더링 될 때만 쏘고, → 이후는 프론트가 정렬
      • 사용자 위치
        • 하나. 베타로 실시할 때 하나만 하는 게 적합.
        • 행정동 vs ~로 → 나중에 광역으로 변경할 수 있다면 가능하도록 구현해보면 좋겠다!
        •  

상세 이벤트 페이지

  • 좋아요
  • 즐겨찾기
  • 소개
  • 제목
  • 가게 소개 이미지
  • 가게 이름
  • 리뷰
    • 이미지 하나만 제한
    • 리뷰 글
    • 작성자
  • 시간 → 협의 후 결정
 

가게 페이지

  • 전체보기 버튼 → 무한스크롤(페이지네이션)
  • 참여하기 → 이벤트 참여 후에는 참여 완료로 변경 → 참여 완료에서는 경고 메시지로 한 번 유저 클릭 제어
 

유저 페이지

 

헤더

  • 사업자 전환
 

유저 프로필 페이지

  • 해당 사용자가 누른 즐겨찾기, 좋아요
  • 즐겨찾기 수
  • 즐겨찾기 한 가게들
  • 좋아요한 이벤
 

활동 내역 페이지

  • 이벤트
    • 메인화면과 똑같이 구성
    • 정렬에 대해서는 나중에 생각
  • 리뷰 참여 수
    • 참여 수
    • 작성 리뷰 수
    • 리뷰
      • 글
      • 이미지 있는 걸로 생각
  • 활동 내역 페이지 자신이 보는 것과 타인이 보는 것의 차이 정의해야 할 듯.

사업자 전환 페이지

  • 전환 버튼을 클릭하면 → 내 가게 보기로 이동
  • 폼이 나와야 함 → 가게 명 / 주소

내 가게 보기

  • 자신의 페이지를 수정할 수 있음
  • 정렬에 대해서는 따로 얘기하기로

이벤트 생성 페이지

  • 이름
  • 내용
  • 기한
  • 사진
  • 참가자 인원 수
 

리뷰 생성 페이지

  • 내용
  • 사진
 

이벤트 상세 페이지 - 사업자

  • 수정 → descriptions(소개)만 가능할 수 있도록

 

네이밍

  1. 좋아요: 이벤트
  1. 즐겨찾기: 가게
💡
생각보다 잘 통한다!! 그냥 나중에 정말 개념이 헷갈릴 수 있는 것을 짚고 넘어가는 식으로.