TIL 47일차 - 인스타그램 클론코딩 시작

박찬웅·2023년 3월 24일
0

항해99

목록 보기
52/105

23년 3월 24일

배운 것

길고도 짧았던 주특기 프로젝트가 마무리 되고, 새로운 프로젝트로 클론코딩 프로젝트를 시작하였다.

시도 한 것

오늘도 아침에 일어나서 새로운 팀원들과 만나게 되었다. 이번주차 미니프로젝트는 클론코딩 프로젝트로 이미 현재 시중에서 웹이나 앱 서비스 중 하나를 골라서 최대한 기능을 똑같이 구현 하는 것이였다.
프론트앤드분과 함 오늘 오전에 회의를 한 결과 우리는 인스타그램을 클론코딩 하기로 결정하였다.
인스타그램도 엄청 많은 기능이 있지만 현실적으로 일주일 내내 전부 구현하는건 불가능하기에 우선 인스타그램을 살펴 본 결과 우리는 다음과 같이 구현하기로 결정하였다, 회원가입과 아이디는 기본이고 게시글 전체 조회, 작성, 수정, 삭제 API, 댓글 조회, 작성, 삭제 API, 그리고 게시글의 좋아요 누를 수 있는 기능 정도로 구현하기로 결정하였다.

여기서 아마 가장 어려운 것은 사진 등록 하는 것이 아마 어려울 것 같고, 시간이 남으면 무한 스크롤이나 게시글이나 댓글을 일부만 가져 오는 기능도 적용 하기로 결정 하였다.

우리팀 node.js 백앤드 팀원은 나 포함해서 3명이고, 나는 이번 프로젝트에서는 댓글과 게시글의 좋아요 기능 API를 구현하기고 결정하였다. 다른 팀원 한분은 로그인, 회원가입, 또 다른 팀원은 게시글 API를 하기로 결정하였다. 우선 본인은 좋아요 기능은 처음 구현 해보는 것이라 이번 프로젝트에서는 여기서 상당히 애를 먹을 것으로 예상이 된다.
그리고 아울러 3계층 분리하는것은 일단 보류하기로 결정하였다. 우리팀은 API 제대로 잘 돌아가는지 초점을 두었기 때문에 우선 구현 다 한뒤에 시간 남으면 3명이 라이브 코딩으로 동시 작업을 진행해서 코딩 하는 방식으로 결정하였다.


ERD는 일단 이렇게 작성하였다. 나중에 수정될 가능성도 있지만 Users 테이블에서는 이메일과 비밀번호 그리고 닉네임 컬럼을 추가하였다. Posts 테이블에서는 이미지와 내용, 좋아요 카운트 컬럼을 정하였다. 다음으로 Comments 테이블에선 댓글 딱 하나 추가하면 되었고, Likes 테이블에선 해당 게시글 좋아요 눌렀는지 안눌렀는지 확인하는 isLike를 boolean값으로 정하였다.
그리고 테이블관에 관계설정은 다음과 같이 하였다.
1. 하나의 유저는 여러 게시글을 작성 할 수 있다. (1:N)
2. 하나의 유저는 여러 댓글을 작성 할 수 있다. (1:N)
3. 또한 하나의 유저는 여러 좋아요를 누를 수 있다. (1:N)
4. 하나의 게시글은 여러개의 댓글을 가진다. (1:N)
5. 하나의 게시글은 여러개의 좋아요를 가질 수 있다. (1:N)
이렇게 5가지의 테이블의 관계 설정을 하였다.

이후 추가적인 프론트앤드 분들과 회의를 끝나고 오후 늦게부터 저녁 늦은시간까지 댓글 API 구현을 마무리 하였다. 다만 댓글 API도 완벽하게 구현한것이 아닌 것인게 아직 회원가입, 로그인 API가 구현이 안되어서 우선 토큰없는 상태로 구현은 한 것이라 완벽하게 구현 한것이 아니다.
그리고 오늘 밤에 좋아요 API 기능은 대략적으로 구현은 했지만 애러가 처리 되어서 오늘은 해결하지 못했다. 그래서 이 부분은 팀원들과 도움을 요청 할 생각이다.

해결

오늘 해결 한 것은 회의를 통해 인스타그램 클론코딩으로 결정하였고, 인증 미들웨어 없는 상태로 댓글 생성, 조회, 삭제 API를 구현하였다.

알게 된 점

기존 주특기 프로젝트랑은 다르게 실제 서비스 운영 하고 있는 하나 골라서 프로젝트를 정하는 것이라 아마 새로운 것들을 요소 추가하기에 상당히 힘든 시간을 가질 것이라고 생각하였다. 하지만 이번에 만난 팀원들은 같이 라이브 코딩 하는것을 좋아해서, 어쩌면 중간에 막히면 같이 코딩 하는 방식으로 진행 할 것 같아서 팀원들의 코드도 리뷰도 될 것이고, 도와 줄 것이 있다면 쉽게 도와 줄 수 있을 것으로 예상된다. 오늘은 거의 회의한게 대부분이라 오늘 구현 한것이라면 로그인 없는 상태로 댓글 API만 있었을 뿐 구현 한 건 거의 없었다.

앞으로 할 일

일단 내일은 게시글 좋아요 API 기능을 추가하고, 로그인, 회원가입 API 기능이 완성되면 토큰 받아서 다시 댓글 API도 그것에 맞게 수정 할 계획이다. 아마 첫번째 고비는 사진 업로드 일 것인데, 이부분은 내가 구현하는 파트는 아니지만 같이 공부해봐야 할 것 같다.

profile
향해 13기 node.js 백앤드

0개의 댓글