StockX 사이트 분석과 모델링

Sua·2021년 3월 7일
1

Database

목록 보기
3/4

StockX 사이트는 신발, 옷 등 다양한 패션 아이템을 resell할 수 있는 경매 사이트이다.

StockX에서의 구매와 판매 개념

한 명의 유저가 구매자가 될 수도 있고 판매자가 될 수 있다.

어떤 상품을 특정 가격에 구매하기 원한다면 'bid'를 할 수 있다. 경매에서 입찰한다고 생각하면 된다. 반대로 어떤 상품을 특정 가격에 판매하기 원한다면 'ask'를 할 수 있다.

하지만 나는 'bid'를 하는 게 귀찮고 바로 구매(buy)를 하고 싶다면 lowest ask(=최저 판매입찰가)에 구매할 수 있다. 반대로 'ask'를 하지 않고 바로 판매(sell)를 하고 싶다면 highest bid(=최고 구매입찰가)에 판매할 수 있다.

상품리스트 페이지

  • 리스트 페이지에 표시되는 가격은 해당 상품의 lowest ask
    (정렬에 따라 달라지기도 한다.)

  • size와 color 필터링만 구현
  • category 구분하지 않기로 함

상품디테일 페이지

  • 하나의 상품에는 여러 사이즈가 있을 수 있음
  • 각 사이즈 별로 lowest ask와 highest bid가 있음

구매 및 판매 페이지

Buy or bid 버튼을 누르면

  • lowest ask인 $267에 바로 구매(Buy now)할 수도 있고

  • $267보다 더 낮은 가격에 bid를 할 수 있음
  • expiration date를 설정하고 그 기간 내에 내가 bid한 가격에 판매하려는 판매자가 나타나면 거래가 성사됨

  • buy와 bid 모두 shipping information을 입력해줘야 함
  • 원래는 결제 정보도 입력해야 하지만 구현하지 않기로 함

마이페이지

  • 구매 관련 정보는 buying 탭에서 볼 수 있음
  • 내가 bid한 내역은 current에, 매칭이 된 내역은 pending에, 배송까지 완료된 내역은 history에서 볼 수 있음

모델링

  • user 관련은 파란색, product 관련은 빨간색, order 관련은 초록색으로 구분

user

  • shipping information 테이블을 만들어 이전에 주문한 배송지 내역이 있으면 주소 입력 시 보여주도록 함
  • seller level에 따라 판매 수수료 등이 변동됨.

product

  • 하나의 product는 여러 size를 가질 수 있으므로 product size 테이블을 만들어 관리

order

  • bid 테이블과 ask 테이블을 만들어 관리.
  • 매칭이 되지 않은 bid와 ask의 order_status는 'current'
  • 매칭이 됐을 경우 order_number, total price, matched_at에 값이 입력되고, order_status는 'pending'으로 업데이트. 또한 중간 테이블 역할을 하는 order에 매칭된 ask와 bid의 관계 정보를 생성함
profile
Leave your comfort zone

0개의 댓글

관련 채용 정보