2024. 2. 8. 11:49ㆍ공부/내배캠 TIL
목차
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에 접근하는 리소스를 줄일 수 있음을 알게되었습니다.
'공부 > 내배캠 TIL' 카테고리의 다른 글
[Node.js_4기] TIL : Nodemailer (24/02/13) (0) | 2024.02.13 |
---|---|
[Node.js_4기] TIL : Refresh Token 토막글 (24/02/08) (1) | 2024.02.08 |
[Node.js_4기] TIL - 개인과제 정렬기능 리팩토링(24/02/05) (0) | 2024.02.05 |
[Node.js_4기] node숙련주차 개인과제 (24/02/02) (0) | 2024.02.02 |
[Node.js_4기] Today_I_Learn : 트랜잭션 (24/01/30) (0) | 2024.01.30 |