프로젝트 설명
세계적인 와인들을 즐길 수 있는 와인 쇼핑몰
- 기간: 2023.02 - 2023.03 (3주)
- 프론트엔드 2명, 백엔드 2명
Github
https://github.com/ha-ccoon/bottleshop
역할 및 구현 기능
- 제품, 주문, 배송 API의 CRUD 구현
- 백엔드 환경 셋팅 및 문서작업
기술 스택
- Frontend: ReactJS
- Backend: NodeJS
- Database: MongoDB
- 배포: Nginx, PM2, GCP, Gitlab, Notion
회고
프로젝트를 진행하면서 ERD 작성과정을 통해 데이터 모델링과 ERD의 중요성을 인지했고, 엔티티 간의 관계와 카디널리티가 정확히 정의되지 않으면 백엔드 개발이 불가능하다는 사실을 깨달았습니다.
트러블 슈팅 및 배운 점
- ERD 작성의 중요성 (ERD 작성과정 확인하기)
- 올바른 데이터 모델링이 정의가 되어야 개발 작업이 원활하게 진행될 수 있음을 깨달음
- 여러 물건들을 주문 했을 때 각각의 제품 갯수를 확인 할 수 없는 문제 발생
- 제품 id는 배열로 받아오고 count는 숫자로 받아오는 스키마의 불일치로 인해 발생
- reduce 메서드를 사용하여 배열 안의 제품 갯수를 카운트하고, count를 object로
변경하여 제품 당 갯수를 { product_id: 갯수 } 형식으로 출력

수정 전

수정 후
API 명세
API 명세 (1)
화면흐름도
.png)
시연 영상
Bottle Shop.mp4