안녕하세요! 보라입니다💜
UMC 10주차 트랙 과정에 이어서 프로젝트를 진행하게 되었는데요, 프로젝트 명은 '빵빵'입니다!
또, 감사하게도 소모임에서 진행하는 '썸머코딩' 백엔드(Spring) 멘토링을 받게 되었습니다! (선배님들 바쁜 시간 내주셔서 감사합니다😁)
그래서 이번 여름 방학 동안은 프로젝트 빵빵과 썸머코딩 진행 내용들이 올라올 예정입니다!
그리고 저는 이번 프로젝트에서 PM님과 함께 백엔드를 맡게 되었습니다!!
(위 프로젝트 설명은 PM님께서 작성해주신 것을 가져왔습니다!)
데이터 베이스 설계를 위해, 먼저 어플의 와이어 프레임을 살펴보면서 어떤 Table 안에 어떤 column들이 필요할 지 생각해보았습니다.
User
userIdx
userName
userPhone
userEmail
(starShop - 즐겨찾기 한 shop!)
createdAt
updatedAt
isShop - shop 권한이 있는 계정은 1
shopIdx - shop
Shop
shopIdx
shopName
shopImgUrl - 빵집 대표 이미지
isOpen - shop이 열었으면 true
createdAt
updatedAt
shopLocation - 이 부분 잘 모르겠음..
-> 만약 shopIdx로 breadIdx를 검색했을 때 개수가 0 이면 타임 세일 중 x
Bread
breadIdx
shopIdx - Shop 테이블에서 참조
breadName
breadCount
breadPrice
createdAt
updatedAt
BreadUrl (빵 사진을 여러장 올릴 수 있도록, 해당 breadIdx당 첫 번째 Url이 대표 사진이 됨)
breadIdx - Bread 테이블에서 참조
breadImgUrl - text
Review
reviewIdx
userIdx - User 테이블에서 참조
shopIdx - Shop 테이블에서 참조
(breadIdx - 특정 빵에 대해 리뷰를 쓸 수 있을 때만)
reviewContent - text
createdAt
updatedAt
ReviewUrl
reviewIdx - Review 테이블에서 참조
reviewImgUrl - text
판매량을 어떻게 나타낼 것인가?
-> 어플에서는 판매되고 있는 빵에 대한 정보만 제공할 뿐, 어플을 통해서는 구매할 수 없다.
매장에서 카운트 할 수는 있음.
빵집 별로 타임 세일을 일주일 평균 몇 번하는지 나타내는 지표가 있으면 좋을 것 같다. ex) 이 가게는 일주일 간 타임 세일을 N번 진행했습니다!
내가 좋아하는 빵집 알림만 받을 수 있도록, 즐겨찾기 기능
리뷰 추천 기능
-> 특정 빵에 대한 리뷰만 쓸 수 있는가? -> 여기서 의문, 1번에서 말했듯이 푸쉬 알람만 울릴 것이 아니라 빵을 앱에서 구매할 수 있어야 함 또는 구매 했음을 앱에서 알 수 있어야 함.. 영수증 리뷰 식으로?
특정 빵을 많이 구매한 사람에게는, 리뷰 작성 시 나타나는 칭호 제공 ex) 크로와상의 제왕, 단팥빵의 여왕...
빵집 계정 같은 경우, 관리자가 권한을 설정해줌. 따라서 회원가입 때 따로 빵집 인증이 필요 하지 않음
DB 설계를 직접 해보니, 어플의 정확한 기능에 대해 놓친 부분을 깨달을 수 있었습니다. 아마 개발을 계속 해가면서 추가 기능도 보충하고 부족한 부분도 개선해 갈 것 같습니다! DB 설계가 백엔드와 프론트엔드 모두에게 영향을 끼치기도 하고 프로젝트 전반적으로 가장 중요한 작업 중 하나이다보니 시간을 많이 소비하더라도 꼼꼼하게 진행하기로 하였습니다. 그래서 PM님과 제가 각각 설계를 해보고 부족한 점을 보완하기로 하였습니다.