Team

🗃️ Github

https://github.com/IMCORIN2/SnackSpotter

📽️ 시연 영상

https://www.youtube.com/watch?v=w_DyDrSLuag

🗒️ 발표 자료

https://www.canva.com/design/DAF1UjPbG2Y/-jU1bMEoxVy3WgdzD7Yy7A/view?utm_content=DAF1UjPbG2Y&utm_campaign=designshare&utm_medium=link&utm_source=editor


Snack Spotter

  1. 프로젝트

2. 기획 관련 메모

편의점 크롤링

노드 JS 크론 라이브러리

3. WBS & Tasks


🏝️ Ground Rules

**1. 친절한 의사소통
2. 이해 안되면 질문하기
3. 코드를 설명할수있게 적기
4. 아침 회의에서 업무 진행 과정, 
   배운것, 막혔던것, 해결했다면 
   해결책 공유하기
5. 슬랙 메세지 잘 읽기**

🚦 Project Rules

Code Convention

Github Rules

4조 KPT 회고

🚩 Goals

**1. 모르는거 하나라도 더 배우기
2. 실력 향상
3. 프로젝트 협업 능력 향상**

🌞 우리 팀의 목표를 달성하기 위한 하루 계획표를 작성해봅시다.

+ 새로 만들기 를 누르면, 계획서를 만들 수 있어요!

요일 별 상시 업무 (1)

SA 서면피드백

"[프로젝트 설명]
- 주제는 굉장히 재밌어 보이네요.
- 프로젝트 기간을 생각한다면, 선택과 집중이 필요해 보입니다. 뉴스피드 프로젝트의 핵심인 커뮤니티 기능을 최우선으로 구현한 후 나머지 기능에 대해서 선택적으로 구현하는게 좋아 보입니다.
- 특히 추천의 경우 축적 된 데이터가 없는 상태에서 구현하기엔 어려움이 있어 보입니다.
- 4일이라는 기간 동안 BE(BackEnd), FE(FrontEnd) 그리고 영상 촬영 및 발표준비까지 진행해야 된다는 것을 감안해서 일정 관리를 진행해 주세요.

[와이어 프레임]
- 전체적으로 깔끔하고 퀄리티 높네요.
- 뉴스피드 프로젝트의 필수 기능은 커뮤니티 기능인데, 해당 기능에 대한 상세 페이지가 존재하지 않습니다.
- 글 목록 조회, 상세 조회, 쓰기, 수정, 삭제 등의 화면이 준비되어야 합니다.
- 프로필 관리를 위한 페이지도 추가가 필요합니다.

[API 명세서]
- Request header가 아니라 Response header에 JWT가 추가 된 이유가 뭘까요?
- /profile/modifyMyInfo, /products/list/:productId/writeReview 모두 RESTful한 URL이 아닙니다. URL에는 동사가 포함되지 않아야 하며, 어떤 행동을 하는지는 METHOD를 통해서 표현해야 합니다.
- <https://velog.io/@yjs_177076/RESTful-API-Naming> 이 글의 맨 마지막 REST API 설계 예시를 참고하세요.
- PATCH를 사용하셨는데, PUT과 PATCH의 차이점을 인지하고 사용하셨으면 합니다.

[ERD]
- Column명을 모두 PascalCase로 작성했는데, 코드에서 DB 조회로 나오는 데이터가 PascalCase로 나오게 되면 코드에 작성 된 변수들(camelCase로 작성되어 있다고 가정)과 일관성이 없어질 수 있습니다.
- Column명에서 Table 이름을 제거해 주세요. 불필요하게 이름이 길어집니다. 이미 Table에서 어떤 데이터의 집합인지 표시하고 있는데, 굳이 Column 이름에 포함할 필요가 없습니다. (userId -> id, username -> name, recommendationScore -> score 등)
- 서비스를 만들다 보면 생성일시, 수정일시를 바탕으로 정렬 및 필터 등을 사용하는 경우가 많이 있습니다. ERD 작성 시 createdAt, updatedAt을 기본적으로 포함하는 습관을 들여보세요.
- Review Table에는 userId가 있기 때문에 userName은 필요 없습니다.
- Snake과 Store의 관계는 N:M 관계로 각 Table에 FK를 추가하지 않고 별도의 Mapping 테이블에 snackId, storeId를 저장해서 사용해야 합니다. <https://siyoon210.tistory.com/26> 
- N:M 관계로 연결되어야 할 Table들을 확인해 주세요.

[프로젝트 규칙]
- 개발환경은 과제 발제 문서와 같이 보다 구체적으로 나열해 주세요.
- 코드 컨벤션은 특강 내용 중 기억나는 것을 적어 주시거나, .prettierrc 파일을 만들어서 동일한 포맷을 적용할 수 있도록 합니다.
- Github 사용 시 Issue 기능을 활용하여 프로젝트 완료를 위해 처리해야 되는 작업를 작성한 후 진행하면 진행 상황을 조금 더 쉽게 파악할 수 있습니다. <https://youtu.be/_chcUVhLXyA?feature=shared> 

[팀 규칙 및 역할 분담]
- 친절한 의사소통이 가장 중요한 항목입니다. 팀 프로젝트에서는 항상 상대방을 존중하는 태도로 임해주세요.
- 역할 분담은 맡은 주제에 대해 BE, FE의 작업을 모두 진행하는거죠? BE, FE 작업 시간을 고려해서 프로젝트의 범위를 조정해 주세요."

과제 필수 구현 리스트

필수 구현 기능