[세미 프로젝트] 구독 쇼핑몰 ERD 다이어그램
쇼핑몰 ERD 다이어그램
쇼핑몰 기능을 중심으로 회원 / 상품 / 게시판 / 결제 등과 관련된 테이블을 만들었다.
세미 프로젝트를 진행하면서 가장 어려우면서 재밌었던 부분이고,
기능 구현 전에 작성한 터라 많은 에러가 있을 거라 예상했다.
그래도 다행히 작성한대로 스크립트가 무사히 읽혀졌고, 큰 문제는 없었다.
다만 기능 구현을 하면서 다대다 관계로 테이블이 한개 더 추가되기도 했고,
기능 구현을 못해 사용되지 않은 테이블도 있었다.
그리고 팀원 모두가 같이 사용하는 ERD 다이어그램이다보니 수정을 할 때 굉장히 조심스러웠고,
수정 된 부분을 노션에 바로바로 공유하는 등 추후 공유되지 않은 수정사항으로 프로그램 실행 시 오류가 나지 않도록 노력했다. 기능 구현 시 작성한 DTO 필드명과 컬럼명이 좀 더 유사하길 바랬는데, 초반에 급하게 명명한 컬럼명을 수정하지 못해서 아쉽기도 했다. 왜 이렇게 네이밍 규칙들이 다 있는지 알 것 같았다...
상품과 관련해서 가장 어려웠던 점은 상품 옵션 부분이었는데,
디테일을 놓치기 싫은 마음에 상품별로 옵션이 있을 수도 없을 수도 있고, 게다가 옵션을 여러개 가질수도 있다는 점.
상위옵션 (용량, 분쇄도와 같은)과 하위옵션 (100g, 200g 등)이 있도록 하였는데,
실제로 데이터 값을 넣고 가져오는 과정이 너무나 어려웠다.
옵션은 옵션번호, 옵션명, 옵션가, 참조옵션번호 와 같은 컬럼으로 만들었다.
또 주문할 때 고객이 선택한 주문상품과 선택한 옵션을 저장할 테이블이 추가로 필요했다.
상품 상세목록 jsp에서 선택한 옵션을 파라미터 값으로 보낸 뒤 상품 주문페이지에서 표시되는 것은 되었는데,
이 옵션 배열을 ajax로 보내고 서블릿에서 다시 꺼내는 과정에서 자꾸 null이 나왔다.
결국 옵션에 대해서는 결제 후 주문정보, 결제정보, 상품정보 까지만 insert되고 선택한 상품 옵션에 대해 저장하지 못한 문제가 발생했다. 이는 기능 구현 끝까지 시간 부족으로 해결하지 못해 아쉬움이 크다😢