We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
어디까지 서버의 영역일까?
1️⃣ Category 랑 Store_Category 의 연결 관계가 Optional 이고, Store_Category 랑 Store 은 Mandatory 인데 이게 적절한가?
처음에 카테고리를 눌렀을 때는 가게가 존재하지 않을 수도 있다고 생각했었기에 옵셔널로 하였고, 모든 가게들은 하나의 카테고리를 반드시 가져야 하니 때문에 필수 관계로 두었다.
2️⃣ 어느 정도 범위까지 따로 테이블을 만들어서 관리하는 게 좋을까?
→ 카테고리 테이블 빼고 enum 으로 변경해서 다시 만들어야겠다
→ 배달방식도 enum 으로 변경해야 겠다 (배달, 포장의 고정된 값)
3️⃣ 중간 테이블(Store_Category)의 필요성?
4️⃣ rating(별점)
현재 화면에서는 단순하게 평균 별점을 보여주고 있기 때문에 그냥 column 으로 해도 괜찮을 것 같다. 사용자 리뷰 같은 것도 저장할 일이 있다면 Review 테이블 만들어서 Store 이나 Food 랑 연결하면 될 듯!
(if) Store 는 항상 하나의 Category 만 가짐 & 카테고리 변경 가능성이 많음
테이블로 따로 Category를 관리하고, Category 를 변경하거나 삭제해도 Store 의 존재에는 영향이 없으므로 비식별 관계로 둘 수 있겠다.
하지만, 배민에서는 카테고리를 사용자가 추가하는 등의 변경 가능성이 아예 없기 때문에 그냥 enum 으로 관리하는 것으로 하는 것이 좋겠다!
Category 는 사용자가 추가하는 게 아니라 배민 자체에서 그냥 고정되어서 알려주는거기 때문에 Enum으로 처리했다.
카테고리(분식, 족발/보쌈, 중식..) 를 선택하면 해당하는 음식점 리스트를 반환하는 API 입니다.
메인 화면에서 카테고리를 선택하는 경우와 카테고리 별 가게 리스트가 반환되어 있는 화면에서 다른 옵션들을 선택하는 경우를 합쳤습니다.
GET
DELETE
@RequestBody
22,900원
{ "stores": [ { "store_id": 1, "store_name": "운정김밥 야당본점", "rating": 4.7, "delivery_fee": "무료", "min_order": "15,000", "is_new": false, "food": [ { "food_id": 101, "food_name": "운정김밥", "price": "4,000", "image_url": "https://example.com/image1.jpg" }, { "food_id": 102, "food_name": "참치김밥", "price": "5,000", "image_url": "https://example.com/image2.jpg" }, { "food_id": 103, "food_name": "치즈김밥", "price": "5,000", "image_url": "https://example.com/image3.jpg" } ] }, { "store_id": 2, "store_name": "칠봉통닭 탄현마을점", "rating": 5.0, "delivery_fee": "0~1,700", "min_order": "5,000", "is_new": false, "food": [ { "food_id": 201, "food_name": "한마리 반반", "price": "22,900", "image_url": "https://example.com/image4.jpg" }, { "food_id": 202, "food_name": "소금치킨", "price": "21,900", "image_url": "https://example.com/image5.jpg" } ] } ] }
The text was updated successfully, but these errors were encountered:
choyeongju
No branches or pull requests
어떤 데이터가 내려가면 좋을까?
✅ 밑그림 그리기
✅ ERD
처음 구성했던 ERD
고민 !
1️⃣ Category 랑 Store_Category 의 연결 관계가 Optional 이고, Store_Category 랑 Store 은 Mandatory 인데 이게 적절한가?
처음에 카테고리를 눌렀을 때는 가게가 존재하지 않을 수도 있다고 생각했었기에 옵셔널로 하였고, 모든 가게들은 하나의 카테고리를 반드시 가져야 하니 때문에 필수 관계로 두었다.
2️⃣ 어느 정도 범위까지 따로 테이블을 만들어서 관리하는 게 좋을까?
→ 카테고리 테이블 빼고 enum 으로 변경해서 다시 만들어야겠다
→ 배달방식도 enum 으로 변경해야 겠다 (배달, 포장의 고정된 값)
3️⃣ 중간 테이블(Store_Category)의 필요성?
4️⃣ rating(별점)
현재 화면에서는 단순하게 평균 별점을 보여주고 있기 때문에 그냥 column 으로 해도 괜찮을 것 같다. 사용자 리뷰 같은 것도 저장할 일이 있다면 Review 테이블 만들어서 Store 이나 Food 랑 연결하면 될 듯!
(if) Store 는 항상 하나의 Category 만 가짐 & 카테고리 변경 가능성이 많음
테이블로 따로 Category를 관리하고, Category 를 변경하거나 삭제해도 Store 의 존재에는 영향이 없으므로 비식별 관계로 둘 수 있겠다.
하지만, 배민에서는 카테고리를 사용자가 추가하는 등의 변경 가능성이 아예 없기 때문에 그냥 enum 으로 관리하는 것으로 하는 것이 좋겠다!
최종 ERD
Category 는 사용자가 추가하는 게 아니라 배민 자체에서 그냥 고정되어서 알려주는거기 때문에 Enum으로 처리했다.
✅ API
API Description
카테고리(분식, 족발/보쌈, 중식..) 를 선택하면 해당하는 음식점 리스트를 반환하는 API 입니다.
메인 화면에서 카테고리를 선택하는 경우와 카테고리 별 가게 리스트가 반환되어 있는 화면에서 다른 옵션들을 선택하는 경우를 합쳤습니다.
Request ✔️
GET
,DELETE
와 같은 Http 통신 방법에는 Http Body가 없기 때문에@RequestBody
어노테이션을 사용할 수 없습니다.→ 따라서 Request Param 으로 필요한 값을 받아오도록 했습니다.
Response ✔️
22,900원
과 같은 금액값의 경우, 클라이언트에서 편리하게 처리할 수 있도록 String 으로 변환하여 쉼표까지 포함해서 반환해 주도록 했습니다.The text was updated successfully, but these errors were encountered: