클론 프로젝트에서 Sns 기능을 담당
Language : Python
FrameWork : Django
DB : Mysql
Ootd_View (실제 구현)
(GET 요청)
ootd의 페이지의 경우에는 Insta 처럼 여러 개의 카드 게시판들이 List 형태로 존재
그것에 대하여 데이터를 응답을 위해 List Comprehension 을 적용하여 List 형태로 묶음
(POST 요청)
ootd의 페이지를 등록하기 위한 엔드 포인트로써 실제 사이트의 존재하는 모든 정보를 담음
Ootd_Detail_View (실제 구현)
(GET 요청)
ootd의 상세 게시판을 드러가기 위해서 처음에는 프론트의 요청(json)에서 바디에 ootd_id를 넣은 상태에서 진행 하였지만 get방식으로는 body에 정보를 실을 수없어 엔드 포인트를 RESTFUL한 방식으로 path 파라미터를 사용하여 엔드 포인트 뒤에 integer을 입력하여 Json Body에 ootd_id를 대체
OotdCommentView (실제 구현)
(POST 요청)
엔드 포인트에 ootd_id를 path 파라미터를 이용하여 실음 내용과 로그인 데코레이터를 이용하여 회원가입이 된 유저만 등록 할 수 있도록 구현
예외처리 : KEY_ERROR, OotdNotExist(게시판에 대한 id가 없을 때)
CommentView (API로만 존재 test 완료)
(POST 요청)
path 파라미터를 이용하기 위하여 댓글의 대한 id를 엔드포인트에 실음 post 요청시 해당 댓글의 대댓글을 다는 구조로써 댓글 자신의 외래키를 만들어 대댓글을 표현
(PUT 요청)
댓글 수정 기능
(DELETE 요청)
댓글 삭제 기능
ReCommentView (API로만 존재 test 완료)
(PUT 요청)
대댓글 수정 기능
(DELETE 요청)
대댓글 삭제 기능
LikeView (실제 구현)
(POST 요청)
게시판과 User 사이의 중간 테이블을 생성하여 해당 게시물의 좋아요의 개수나 좋아요의 리스트를 표현
(DELETE 요청)
해당 게시물의 좋아요 삭제 기능
FollowView (API로만 존재 test 완료)
(POST 요청)
User User 사이의 중간 테이블을 생성하여 데코레이터를 활용하여 로그인 된 유저가 해당 user_id를 엔드포인트로 요청하여 follow를 하는 기능
(DELETE 요청)
해당 유저의 팔로우 삭제 기능
클론 프로젝트를 마치며..
처음에는 페이지의 구조대로 데이터 응답을 이해 할려니 굉장히 머리가 복잡했다. 카테고리, 게시판들 여러 버튼들을 데이터의 모두 뿌려줄 생각을 하니 로직의 틀이 안 잡혔다. 하지만 페이지의 대한 기능들로 세분화 하여 App 중심의 생각을 하니 수월하게 로직을 구현 할 수 있었던 것 같습니다. 프로젝트를 진행하며 팀원들과 정말 즐거운 시간을 보낸 것 같습니다. 같이 에러와 씨름하고 성공적으로 통신했을 때 같이 기뻐하며 팀플레이를 느낄 수 있었습니다.