(Project) 형님의 파우치

SooHyung Kim·2020년 5월 24일
0

이번에는 그 동안 블로깅 할 때마다 익숙하지 않았던 특유의 딱딱한 어투와 다르게
조금은 일상적인 어투로 써봐야겠다는 생각을 가지면서..
1차 프로젝트였던 형님의 파우치 후기 레쯔기릿 해보겠다.

1. 프로젝트 및 팀 소개

  • (사이트) 화장품 관련 리뷰 사이트인 언니의 파우치를 본따 형님의 파우치 라는 사이트를 제작

  • (특징) 순수 남자 그리고 평균 연령이 타 팀에 비해 높은 형님들로 구성 (평균 31.3세)
    (특히 나는 이름의 마지막에 '형'이 들어간다는 이유로 형님의 파우치 팀에 소속되었다는 전설이...)

  • (구성) 프론트엔드 개발자 3명, 백엔드 개발자 3명, 총 6명으로 구성

2. 사용된 기술

  • (언어, 프레임워크, 데이터베이스) Python, Django Web Framework, MySQL

    • 데이터베이스는 보다 큰 규모의 데이터의 저장을 sqlite 대신 MySQL을 사용
  • (가상 환경) Miniconda3

  • (암호화, 토큰 발행) Bcrypt, JWT

    • 회원가입 시 비밀번호의 암호화를 위해 Bcrypt, 로그인 시 토큰 발행을 위해 JWT를 사용
  • (배포) AWS EC2, RDS

  • (통신메커니즘) CORS headers

3. 내가 맡은 역할 / 부분

  • (모델링) 클론 사이트의 데이터 모델링을 진행

  • (메인, 랭킹 뷰) 랭킹 페이지의 GET 뷰 구현을 위해 Selenium을 이용하여 약 1800개 제품의 정보를 크롤링하여 프론트에서 원하는 데이터를 전달했으며, 메인페이지의 리뷰 및 포스트 데이터를 함께 전달하는 뷰를 작성

4. 잘한 점 + 아쉬운 점 + 해결 / 개선 방법

  • 좋았던 점
  1. 장고 튜토리얼에서 배웠던 쿼리문을 응용해봤다는 점
  2. 크롤링할 상황이 닥쳐보니 프로젝트 전에 과제였던 스타벅스 제품 크롤링은 정말 아무것도 아니었다는 점
  3. 멘토님께 가기 전에 최대한 구글링을 통해 문제를 해결하려 했던 점
  • 아쉬운 점
  1. 프론트엔드에 전달할 API가 늦게 구성되었던 점
  2. 좋았던 점과 상반되지만, 구글을 이용해 문제를 해결하는 시간이 너무 지체될 경우 멘토님을 찾았어야 했던 점
  3. 프로젝트 중간중간 오늘 했던 내용 등을 기록하지 못한 점
  4. 백엔드 간의 소통이 다소 미흡했던 점(역할 분배 면)
  • 2차 프로젝트 진행 시 개선할 점
  1. 크롤링, 모델링 최대한 빨리 끝내고 뷰를 짜고 API를 전달하자!
  2. 모르는 게 지체될 때는 멘토님들을 최대한 활용하자!
  3. 하루에 한시간 정도는 기록을 위한 시간을 투자하자!

5. 기록하고 싶은 코드 / 함수 / 로직

  • 우수 제품 4개를 보여주는 View 파일 작성 과정에서 평점(RATE)를 전달해야 했다.
    이 때 For문을 활용하여 평점을 계산해야 한다는 생각이 들어 정신이 아득했으나 분명 다른 방법이 있을 것이라고 생각하고 구글링을 통해 찾아낸 것이 aggregate였다.

    • 그로 인해 제품 하나하나의 평점을 쉽게 계산할 수 있었다!
product_ranking = [
            {'id': product.id,
             'category': product.secondcategory.name,
             'brand': product.brand_name,
             'productName': product.name,
             'productImage': product.product_image,
             'rate': [UserScore.objects.filter(product_id=product.id).aggregate(Avg('score'))['score__avg'],
                      len(UserScore.objects.filter(product_id=product.id))]
             } for product in products[:4]]
profile
Slow and steady win the race

0개의 댓글