구현기능 및 제약조건 - Kim-Gyuri/bookstore GitHub Wiki

📋 중고거래 웹서비스 특징

✅ User

USER 공통 사항

  • 회원 로그인 정보는 커스텀 어노테이션으로 로그인된 사용자 정보를 불러올 수 있다.
  • 세션의 타임아웃은 30분이다.
  • 모든 회원은 판매권한, 구매권한을 갖는다.

  • 회원가입
    • 이메일/로그인ID/비밀번호/배송지 주소를 입력받는다.
    • 중복된 로그인ID 검증을 진행한다.
  • 로그인 / 로그아웃
    • 로그인/로그아웃이 가능하다.

✅ Sales

Sales 공통 사항

  • 모든 회원은 상품을 등록하여 팔 수 있으며, 거래 정보를 확인할 수 있다.
  • 상품 썸네일 정보로 상품명, 이미지, 가격을 미리 확인할 수 있다.

  • 판매 상품 등록
    • 상품을 등록할 수 있다.
  • 판매 상품 조회
    • 판매 상품 정보와 현재 판매액을 조회할 수 있다.
  • 판매 상품 수정
    • 등록한 상품 정보를 수정할 수 있다.
  • 판매 상품 삭제
    • 등록한 상품을 삭제할 수 있다.

✅ Cart

Cart 공통 사항

  • 모든 회원은 관심 상품을 장바구니에 담을 수 있다.

  • 관심 상품 등록
    • 구매하고 싶은 상품 정보와 구매수량을 등록한다.
  • 관심 상품 해제
    • 장바구니에서 해당 상품을 제외 시킬 수 있다.
  • 관심 상품 조회
    • 현재 등록한 관심 상품 정보를 조회할 수 있다.

✅ Item

Item 공통 사항

  • 상품 이미지는 AWS S3에 저정된다.
  • 상품은 중복 생성이 불가능하다.

  • 상품 생성
    • 상품을 생성할 때 이미지 파일을 저장할 수 있다.
    • 상품 이름, 상품 카테고리가 동일한 상품을 등록할 수 없다.
  • 상품 조회
    • 생성된 상품을 조회할 수 있다.
    • 상품 조회시 연관관계를 맺고 있는 이미지파일도 함께 조회된다.
  • 상품 수정
    • 생성된 상품의 상품명/가격/수량/이미지를 수정할 수 있다.

✅ 주요 서비스 처리 과정

1. 거래과정

주요 서비스 처리

  • 회원가입과 로그인을 진행한다.
  • 구매를 원하는 상품을 검색한다.
  • 장바구니에 원하는 구매상품을 담는다.
  • 구매자 장바구니에 구매상품 정보가 담긴다.
  • 이때 판매자 판매액이 갱신된다.

2. 판매할 상품 등록 과정

판매 등록과정

  • 메인 페이지에서 상품등록 버튼을 눌러 등록 페이지로 이동한다.
  • 상품을 등록하면 판매자 페이지에서 조회된다.
  • 등록된 상품은 메인페이지에서 조회할 수 있다.