IT 프로젝트/쇼핑몰 만들기 [Spring Boot] 스프링 부트 프로젝트/쇼핑몰 만들기 - ERD제작

김태현·2023년 9월 19일
post-thumbnail

이번에 처음으로 쇼핑몰을 오픈하는 친구가 의뢰인이 되어 쇼핑몰을 제작하여 보기로 하였다.

과거 쇼핑몰 프로젝트를 해봤던 경험으로 웹디자이너 친구와 함께 2인 프로젝트로 쇼핑몰 사이트를 만들어 베포까지 하여 실제 의뢰인이 사용할 수 있을 정도의 완성도를 목표로 만들어 보기로 하였다.

2. ERD제작

ERD는 추후 수정될 예정이지만 일단 필수적인 요소들만 담고 있는 ERD를 작성 해보았다.

  1. 회원
  • 권한은 서버관리자인 ADMIN, 의뢰인 및 그 직원 MANAGER, 일반회원 USER 로 3단계로 설계

  1. 배송지관리
  • 배송지 테이블은 회원별 여러 배송지를 가지고 있으며 지도 API를 활용하여 데이터를 넣을 계획이다.
  • 주문상품은 주문한 상품 1개당 주문 1개를 생성하도록 1:1를 이는 주문코드 컬럼을 통해 묶어 해당 코드의 주문 상태별 행동을 제작할 계획이다.

  1. 상품
  • 상품의 정보는 첫번째 PRODUCT테이블에서 이미지 및 정보들을 1차로 유저들에게 뿌리게 된다. 흔히 볼수있는 리스트는 PRODUCT테이블의 정보들로 사용할 계획이다.
  • 카테고리는 N:N 으로 CATEGORYTYPE테이블을 만들어 관계를 1:N으로 만들었다.
  • REALPRODUCT테이블은 관리자의 재고(수량)관리 및 옵션에 따른 하위옵션명,코드 컬럼을 만들었다.
    예) PRODUCT의 옵션1 : 색상-> REALPRODUCT의 옵션명1 : 빨강, 옵션코드1 : #ff0000
  • 관리자의 상품추가 및 옵션추가 UI에 많은 시간투자가 예상된다.

  1. 파일
  • 파일 테이블은 두개로 나누었으며 DIVISION을 이용하여 파일의 용도를 분배할 수 있는 테이블을 만들었다. 카테고리의 개념
  • 상품의 파일같은 경우 DIVISION은 썸네일, 상세정보 등이 들어갈 예정이다.
  • 기타파일의 경우 시즌마다 옷이 바뀌는 쇼핑몰의 특성상 개발자가 아닌 관리자가 배너 및 광고등을 바꾸는 기능이 있어야 한다고 판단하여 배너, 헤더, 푸터, 광고 등이 들어갈 예정이다.
  • 출력순서 컬럼을 만든 이유는 관리자가 가장 잘뽑힌 사진을 제일 먼저 올리는게 가능하도록 하기 위함

  1. REIVEW, QNA, NOTICE
  • 게시판 카테고리는 NOTICE와 QNA에 상품관련, 서비스관련, 일정관련 등 여러가지 카테고리의 게시글이 있기에 구분해주는 테이블을 만들었다.
  • 세개의 게시글 모두 답글이나 대댓글을 달때 어떤 댓글의 대댓글인지 인지하기 위해 프론트에서 처리하여 @이름 이런식으로 언급하는 식으로 시간순으로 정렬할 예정-> 네이버같은 경우 대댓글 작성 시 해당 댓글의 바로 아래가 아닌 제일 하단에 언급하는 형식을 이용함.
  • 리뷰같은 경우 회원번호 컬럼을 왜래키로 지정하여 해당 상품을 주문한 내역이 없으면 작성할 수 없게끔 제작할 예정이다.

ERD는 추후 수정할 계획이며 해당 ERD에 대한 태클과 의견 등 좋은 조언을 댓글로 작성 힘이되어주시면 감사하겠습니다!

의뢰자 : 아마이저 쇼핑몰(링크)

profile
주니어개발자

0개의 댓글