Skip to content

2. Feature Specification

YeeunJ edited this page May 31, 2025 · 1 revision

1. 회원(User)

• 회원 인증 및 관리

  • 회원가입

    • 이메일(ID), 닉네임, 비밀번호, 휴대폰 번호 입력
    • 이메일/닉네임 중복 검사
    • 휴대폰 인증 (SMS)
    • 가입 완료 후 이메일 인증 링크 발송
  • 로그인 / 로그아웃

    • JWT 기반 로그인 처리
    • 토큰 기반 로그아웃 처리
  • 비밀번호 찾기(재설정)

    • 이메일 또는 휴대폰 인증을 통한 비밀번호 재설정
  • 회원정보 수정

    • 닉네임, 휴대폰 번호, 비밀번호 변경 가능
  • 회원 탈퇴

    • 비밀번호 확인 후 탈퇴 처리 (논리 삭제)

• 배송지(Address) 관리

  • 주소 등록

    • 다중 주소 입력(이름, 수신자, 전화번호, 상세주소, 우편번호)
  • 기본 주소 지정

    • 저장된 주소 중 하나를 기본 배송지로 설정
  • 주소 수정 / 삭제

    • 기존에 등록된 주소를 수정하거나 삭제 가능

• 정산 계좌(Account) 관리 (판매자 연계)

  • 정산 계좌 등록

    • 예금주명, 은행명, 계좌번호 입력
    • 판매자 권한이 부여된 사용자만 사용

2. 상품(Product)

• 상품 정보 관리

  • 상품 등록

    • 입력: 상품명, 설명, 가격, 재고 수량, 지역, 상품 타입(NORMAL / RESERVATION / FIRST_COME), 예약 마감 시간(선택), 이미지
  • 상품 수정

    • 본인이 등록한 상품만 수정 가능
    • 예약 진행 중인 상품은 일부 항목(수량 등) 제한적 수정
  • 상품 삭제

    • 논리 삭제 처리(is_active = false)
    • 예약(또는 선착순) 진행 중인 경우 삭제 불가 (관리자 승인 필요)

• 상품 조회

  • 전체 상품 목록 조회

    • 필터 추가: 지역, 카테고리, 예약/선착 여부, 인기순, 최신순
    • 페이징 처리
  • 상품 상세 조회

    • 상품 ID 기준 단일 조회
    • 재고 수량, 찜 수, 예약/구매 상태 정보 포함

3. 찜(Favorite)

• 찜 등록/취소

  • 찜하기

    • 로그인 사용자만 가능
  • 찜 취소

    • 이미 찜한 상품에 한해 취소 가능

• 찜 목록 조회

  • 내 찜 목록

    • 로그인 사용자 기준 찜한 상품 리스트 반환
  • 지역별 인기 상품

    • 지역별 인기 상품 Top 5 조회

4. 예약(Reservation)

• 예약 신청/취소

  • 예약 신청

    • 예약 마감 시간 전 사용자 신청 가능
  • 예약 취소

    • 마감 시간 전 본인 신청만 취소 가능 (DB 상태 변경)

• 예약 마감 처리 / 결과 조회

  • 예약 마감 처리

    • 마감 시점에 재고 확인 후 자동 CONFIRMED 또는 FAILED 처리
  • 예약 결과 조회

    • 사용자 본인의 예약 상태 확인 (CONFIRMED / FAILED / CANCELLED)

• 예약 현황 조회 (판매자/관리자)

  • 판매자 예약 현황

    • 본인이 등록한 상품별 예약 신청자 리스트 조회 (신청자, 상태, 수량, 신청 시간 등)
  • 관리자 예약 통합 현황

    • 전체 예약 내역 리스트 (필터: 상품, 사용자, 상태 등)

5. 선착순 구매(FirstComePurchase)

• 선착순 구매 요청/처리

  • 구매 요청

  • 구매 처리

    • 재고 소진 시 이후 상태 변경

• 구매 결과 조회

  • 사용자 구매 결과

    • 본인의 선착순 구매 상태 확인

6. 리뷰(Review)

• 리뷰 작성/수정/삭제

  • 리뷰 작성

    • 로그인 사용자만 가능
    • 조건: 해당 상품을 예약 또는 선착순 구매로 실제 구매 이력이 있어야 함
    • 평점(1~5) 및 후기(텍스트) 저장
  • 리뷰 수정

    • 본인이 작성한 리뷰만 수정 가능
  • 리뷰 삭제

    • 본인이 작성한 리뷰만 삭제(논리 삭제) 가능

• 리뷰 조회

  • 상품별 리뷰 조회

    • product_id 기준 리뷰 리스트 조회 (평점, 내용, 작성자, 날짜 포함)
    • 페이징 처리
  • 사용자별 내 리뷰 조회

    • user_id 기준 본인이 작성한 리뷰 조회

7. 판매자(Seller)

• 판매자 권한 및 상품 관리

  • 판매자 권한 부여

    • 일반 User가 상품을 등록하면 자동으로 판매자 자격 부여
  • 판매자 상품 등록/수정/삭제

    • 본인이 등록한 상품에 대해서만 CRUD 가능
  • 판매자 예약/구매 현황 조회

    • 본인 상품에 대한 예약 및 선착순 구매 내역(신청자, 수량, 상태, 일시 등) 조회

• 정산 계좌 관리

  • 정산 계좌 등록

    • 판매자(User) 정보에 귀속 (예금주, 은행명, 계좌번호)

8. 관리자(Admin)

• 회원 관리

  • 회원 목록 조회

    • 전체 회원 페이징 조회
    • 필터: 이메일, 닉네임, 사용자 등급
  • 회원 상세 조회

    • user_id 기준 상세 정보 확인
  • 회원 정지 처리

    • 계정 상태를 정지로 변경 → 로그인 및 서비스 이용 제한

• 상품 / 예약 / 구매 통합 모니터링 (추후 확장)

  • 상품 전체 조회(필터: 상태, 판매자, 기간 등)
  • 예약/선착순 구매 통합 조회 (필터: 상품, 사용자, 상태, 기간 등)