O9O9 프로젝트 후기

이성보·2021년 1월 19일
0

O9O9 프로젝트

O9O9는 현재 이베이코리아에서 운영중인 오픈마켓 G9 사이트를 클론해보는 프로젝트입니다.
개발 인원은 백엔드 3명과 프론트엔드 3명이었습니다.


Back-End 적용기술

  • Python, Djagno web framework
  • Bcrypt
  • JWT
  • MySQL
  • AWS EC2, RDS, S3
  • CORS headers
  • Kakao social login

API

직접 구현한 api - ✔️
리팩토링한 api - ✨

USER APP

SignUpView : 회원 가입 기능✨
SignInView : 로그인 기능✨
KakaoSignInView : 카카오 로그인 기능✨

PRODUCT APP

CategoriesView : 메인 카테고리 전체를 조회✔️
ProductsView : 상품 전체 리스트를 조회✔️
ProductDetailView : 특정 상품의 상세 정보를 조회✔️
WatchListView : 찜하기 버튼 기능✔️

ORDER APP

OrderView : 주문 페이지를 작성할 때 필요한 정보를 조회, 주문, 변경하는 기능
OrderDeleteView : 장바구니에 담긴 상품의 수량을 삭제하는 기능

REVIEW APP

QuestionView : 특정 게시물의 상세 정보를 조회✨
QuestionDetailView : 전체 게시물을 조회, 게시물 생성✨


기록하고 싶은 코드

상품 리스트

상품 전체 리스트 조회 api에서 해당 상품을 찜 했는지 여부를 전달해줘야 했습니다.
Q 객체로 필터링한 products 를 캐싱 없이 불러 오면 Nuber of Queries : 204

똑같은 조건에 prefetch_related 함수를 써서 캐싱을 해주면...

Nuber of Queries : 104 쿼리가 절반으로 줄었습니다.


회고

프로젝트를 진행할수록 Product APP 부분 모델링이 잘못되었다고 느꼈는데 프로젝트가 꽤 진행된 상황에서 모델링 수정은 프로젝트 결과물에 좋지 않다고 생각해서 그대로 진행을 했었습니다.
애자일 방식의 협업 프로세스로 프로젝트를 진행하다보니 api구현이 끝난 후에 모델링 수정이 힘들다는 것을 알게 되었고 다음 프로젝트 때에는 모델링을 신경써서 해야겠다고 생각했습니다.

0개의 댓글