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 작업 시간을 고려해서 프로젝트의 범위를 조정해 주세요."

과제 필수 구현 리스트

필수 구현 기능

4. API 명세서

API 명세서

5. ERD DIAGRAM

https://www.erdcloud.com/d/E9v9oWYg5PjcMjDBn

Copy of 군것질 (1).png


6. 와이어프레임

https://app.uizard.io/p/50c7e519

Screenshot 2023-11-22 at 12.53.46 PM.png

7. 실제 구현 스크린샷

Screenshot 2023-11-27 at 6.19.14 PM.png

Screenshot 2023-11-27 at 6.19.08 PM.png

Screenshot 2023-11-27 at 6.18.58 PM.png

Screenshot 2023-11-27 at 6.17.36 PM.png

Screenshot 2023-11-27 at 6.17.28 PM.png

Screenshot 2023-11-27 at 1.54.27 PM.png

Screenshot 2023-11-27 at 1.54.18 PM.png

Screenshot 2023-11-27 at 1.54.00 PM.png