[Node.js_4기] TIL : 뉴스피드 프로젝트 (24/02/07)

2024. 2. 8. 11:49공부/내배캠 TIL

목차

 

1. 문제

2. 시도

3. 결과

4. 배운점

 

1. 문제 

 

숙련주차 2 팀 프로젝트로 뉴스피드 프로젝트를 진행하게 되었습니다.

뉴스 피드 : 내 게시물을 포함한 모든 게시물을 볼 수 있는 공간 → 블로그, 커뮤니티, SNS 모두 될 수 있다.

 

팀원들과 팀원 카드를 확인해보면서 관심사에 대해 말하다 당근마켓의 동네생활 란을 모티브로 프로젝트를 진행해보면 어떻겠냐는 이야기를 하게 되었고, 이를 프로젝트 목표로 잡게 되었습니다.

 

2. 시도 

 

  • 프로젝트 명 : 우(리동네) 동(아리)
  • 소개
    • 한 줄 정리 : 관심사를 기반으로 동아리를 만들어 소통하는 프로젝트
    • 내용 : interest를 공유하는 사람들과 community를 만들어 게시글을 작성하고, 게시글에 댓글과 좋아요로 반응하는 게시판 프로젝트 입니다.
  • 프로젝트 와이어 프레임
  • API 명세서 : 뉴스피드 프로젝트 8조인성 (notion.site)
  • ERD

 

 

3. 결과 

 

해당 S.A를 기반으로 피드백을 받았습니다.

 

2. 사전 기획 및 설계

 

2-1. 프로젝트 내용 - 커뮤니티 카페 구현

 

2-2. 화면계획서 / 와이어프레임 - 

- 사용자 관점의 전체적인 순서를 만들어 볼것.

- 처음 진입시 -> 어디 버튼을 누르면 어디로, 그럼 다음 페이지는 무엇인지의 흐름으로 배치가 되어있으면 좋겠다.

 

2-3. ERD - 한 줄 요약하자면, N:M 을 [ 1: N -- N: 1 & M: 1 -- M: 1 ] 으로 table 하나 더 끼워서 해결하기

- interest를 Table로 분리하고 싶으시다면, community의 interest는 FK가 되는게 좋을 것 같음.

- 모델 설계가 완벽할 필요 없습니다. 때로는 일단 우리가 생각한대로 러프하게 만들어보고, 필요에 따라 모델을 유동적으로 바꾸는것도 좋은 경험

- 더불어 Likes Table은 createAt field 정도 고려해보시는게 좋을 것 같고, Post의 comment는 어떻게 좋아요를 누를지도 고민해보면 좋을 것 같아요!

 

2-4. API 명세서 - (다른 튜터분의 피드백) URL을 전체적으로 수정

- 가입시 password confirm(+valid)

- 내 정보 조회 : 타인 정보 조회? => 인증 절차 없애기

- 모임 가입시 : query string 대신 req body로 받는게 좋음

- 모임 게시글 조회 : communityId도 파라미터로 받을것

- 댓글 조회 : api URL 수정 필요

- 모임 게시글 조회 : community/communityId/posts 같은 형태로 수정 필요

- 게시글 수정 : post 하고 메서드를 바꿀것

- 댓글 작성 : params를 붙이는 방식으로 수정할것

- 좋아요 기능은 토글로 구현해야함

- 로그아웃시 refreshtoken을 넘겨줘야 함

 

2-5. Github rule (버전관리 룰) - 버전관리 rule도 접두사로 통일되게 정리 해보시는 것은 어떨까요!

- 커밋룰 외에 P.R에 대한 룰도 정해보는 것은 어떨까요? 그에 따라 branch를 만들면 그 branch 이름을 어떻게 세팅할지 고민도 해보면 좋을 것 같습니다.

 

4. 배운점 

 

N:M 관계를 구현하기 위해 중간 테이블을 끼워넣어 N:1, 1:M 두 관계를 간접적으로 이어주는 방법을 알 수 있었습니다.

추가로, url을 구상하며 대략적으로 이것만 있으면 되겠지 라는 생각으로 구성했었는데 세부적으로, 여러 정보를 url에 담음으로써 db에 접근하는 리소스를 줄일 수 있음을 알게되었습니다.