본격적으로 쇼핑몰을 만들기 위한 기본 DB 설계
프로젝트 도메인은 애완동물 🐶 용품을 파는 Online pet shop을 해보고 싶었다. (나는 강아지를 정말 좋아한다..)
스프링 프로젝트를 시작하기 위해 https://start.spring.io/ 으로 접속하여 스프링 프로젝트를 구성했다.
Dependencies의 경우, 일단 필수적인 패키지만 구성했고, 나머지 Security, OAuth 같은 패키지는 필요에 따라 나중에 추가할 계획이다.
순조롭게 진행되면 좋으련만 시작부터 말썽을 부리는 나의 프로젝트이다..
오류 로그를 살펴보니...
No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.1 was found
엥... 3.0.1 버전 오류인 것 같다.
그럴 땐, 버젼 다운그레이드가 답이다. 버전을 2.7.7로 다운시키고 다시 빌드하니 성공적으로 빌드되었다.
먼저 프로젝트의 전체적인 ERD를 간단하게 그려보았다.
회원은 상품을 주문하거나 장바구니에 상품을 담을 수 있고, 회원은 상품을 여러개 주문할 수 있다. 회원의 아이디는 원래 탈퇴 등으로 없어질 수 있기 때문에 고유키(PK)로 쓰기에 부적합하지만 일단은 더 나은 아이디어가 없어서 그냥 쓰기로 했다.
기억나는 대로 구현할 로직들을 나열해보았다. 일단은 로그인, 회원가입 로직부터 구현해봐야겠다. 그리고 상품을 등록과 조회, 수정과 관리, 주문하는 것을 차례대로 구현하고 장바구니를 마지막에 구현할 것이다. 상품 수정과 관리는 지금 당장은 어떻게 해야할지 떠오르지 않지만 한번 고민해봐야겠다.