인스타그램 클론 코딩 팀 프로젝트
오늘은 API 문서 작성을 하고, 튜터님의 피드백을 받아 DB 문서를 조금 수정하였다. 또, 메인 페이지의 프론트 엔드 부분을 조금 만들어 보았다. 튜터님께서 하나의 DB에 너무 많은 정보를 담으면 안 된다고 하셔서 Users에 있던 Followers와 Followings를 다른 하나의 DB로 빼냈고, 마찬가지로 Posts와 Comments의 Likes도 다른 DB로 빼냈다. 작은 프로젝트일 경우 별 문제 없을 수도 있지만, SNS의 특성 상 유명인의 경우 하나의 사람이 너무 많은 정보를 갖게 될 수도 있다고 하셨다. 그 점에 주의하여 다시 DB를 설계하였다.
DB 설계 수정본

Follows와 Likes를 따로 가지고 있기는 하지만, 마이페이지에서 팔로우 수, 팔로잉 수를 출력하거나 게시글 및 댓글에서 좋아요 수를 바로바로 출력하기 위해서는 수에 대한 정보는 따로 가지고 있으면 다른 DB를 검사하지 않고 바로바로 불러올 수 있을 것이라 생각하여 FollowerCnt, FollowingCnt, LikeCnt는 바로바로 열람이 가능하도록 설계하였다. 또, Follows에 새롭게 추가된 데이터의 FollowingName, PostLikes에 새롭게 추가된 데이터의 PostId의 UserName, CommentLikes에 새롭게 추가된 데이터의 CommentId의 UserName이 현재 내 계정과 일치할 경우 RecentEvents 리스트에 추가하도록 하였다. 이는 내가 받는 알림 이벤트의 목록을 가리키는 것이다.
API 설계


위와 같은 형식으로 메인 페이지의 API 문서를 작성하였다.
API 문서
A new tool for teams & individuals that blends everyday work apps into one.
www.notion.so