본문 바로가기
프로젝트

장바구니 구현하기

by do_ng 2020. 12. 11.

- 장바구니 구현에 앞서 대부분의 온라인 쇼핑몰의 장바구니 구매 프로세스를 보면 

 

1. 여러 상품을 서칭 후 마음에 드는 상품을 장바구니에 담는다

2. 장바구니에 넣은 상품들을 주문을 한다(비회원의 경우 로그인을 한 후 주문을 할 수 있도록 함)

 

- 장바구니를  어떻게 구현할 것인가?? 

<비회원으로 장바구니를 사용할 경우(단순히 세션과 쿠기만으로 구현)>

1. 장바구니 담기를 클릭 시 접속한 해당 비회원의 브라우저에 장바구니를 관리할 쿠키값과 서버의 세션 값이 일치하는 게 없을 경우 비회원 식별 값을 랜덤으로 만들어서 세션에 저장시킨 다음 매칭 되는 쿠키값을 해당 사용자의 브라우저에 저장시킨다. 

2. 장바구니로 들어가게 되면 전에 생성되었던 쿠키값과 서버의 세션 값을 비교해서 해당 비회원의 장바구니 리스트를 가져온다. 

단점 : 비회원 고객에 대한 관심상품의 데이터를 얻기가 힘들다. (DB에 영구적으로 데이터가 저장되는 게 아니라서 추후에 마케팅을 시도할 수 있는 기초자료를 확보하기가 힘들어짐) 

장점 : DB를 데이터를 넣는 작업을 하지 않으므로 서버는 많은 용량을 확보할 수 있다. 

 

<비회원으로 장바구니를 사용할 경우(장바구니 테이블을 사용하는 방식)>

1. 장바구니 담기를 클릭 시 접속한 해당 비회원의 브라우저에 장바구니를 관리할 쿠키값과 서버의 세션 값이 일치하는 게 없을 경우 비회원 식별 값을 랜덤으로 만들어서 세션에 저장시킨 다음 매칭 되는 쿠키값을 해당 사용자의 브라우저에 저장시킨다. 

2. 만들어진 비회원 식별 값과 해당 비회원이 추가한 상품이 장바구니 테이블에 저장이 된다. 

3. 해당 사용자가 장바구니 목록을 클릭하게 되면 브라우저의 쿠키값과 서버의 세션 값을 비교해서 매칭이 되면 장바구니 테이블에서 쿠키값에 해당되는 간단하게 말하자면 해당 사용자(비회원)의 장바구니에 담은 모든 상품들을 가져와서 해당 사용자에게 보여준다. 

단점 : DB에 데이터가 계속해서 쌓이므로 서버의 용량이 줄어듦 

장점 : 비회원 고객의 장바구니에 대한 관심상품 데이터를 확보할 수 있으므로 나중에 다시 방문했을경우 확보한 데이터를 바탕으로 상품을 추천해서 비회원 고객에 대해서도 더많은 구매를 유도하도록 할수 있음 

 

<회원으로 장바구니를 사용할 경우> 

1.해당 상품을 장바구니에 담을시 해당 회원의 ID을 PK로 해서 장바구니 테이블에 저장을 하면됨 

2.회원의 장바구니에 있는 상품 리스트들은 직접 삭제를 하지않는 이상 장바구니에 계속 남아있음 

'프로젝트' 카테고리의 다른 글

쇼핑몰 결제 서비스 사용하기  (0) 2020.12.17
2차 DB설계  (0) 2020.12.15
상품 대댓글 구현하기  (0) 2020.12.11
1차 DB설계  (1) 2020.12.01
쇼핑몰 프로젝트 기획안  (1) 2020.12.01