프로젝트 개발하기 #8 - 회고

HYOJIN·2020년 11월 19일
0

MOVIE NOTE PROJECT

목록 보기
8/8

1. 프로젝트 영상

MOVIE NOTE Project

2. 프로젝트 취지 & 설명

  • 그동안 본 영화에 대한 리뷰를 기록하고, 저장된 리뷰의 데이터를 기반으로 내가 어떤 유형의 영화를 좋아하는지, 어떤 배우의 작품을 좋아하는지 영화 취향을 분석하는 프로젝트를 기획.

3. 기술 설명

  • 리뷰 작성

    • add review 버튼은 js를 사용하여 show/hide

    • date, title, url, review 값을 입력하면 입력값을 DB에 저장

    • 네이버 영화 url을 스크래핑하여 title (meta), poster url (meta), genre, actor, actor image url을 DB에 저장

    • 영화당 장르는 1개, 배우는 3명으로 제한

  • 데이터 분석

    • DB에 저장된 리뷰 데이터를 바탕으로 장르별, 배우별로 상위 데이터를 추출

    • 장르의 개수를 카운트한 데이터는 구글차트를 사용하여 시각적으로 보여주고, DB에 저장된 데이터를 카운트하기 위해 사용한 문법은 aggregate 그리고 count

    • 가장 많이 언급된 배우 TOP3의 데이터를 가져오기 위해 장르와 마찬가지로 aggregate, count 를 사용. 추가적으로 배열에 묶여있는 데이터를 꺼내기 위한 unwind , 상위 3명의 데이터만 필요로하기 때문에 sort, limit 사용

    • 장르와 배우 각각 상위 1위에 위치한 데이터에 해당하는 영화 list를 3개씩 가져오기 위해 find, in 문법 사용

  • 리뷰 리스트

    • 부트스트랩을 사용하지 않고 직접 화면을 구현

    • 가장 최근에 입력한 리뷰를 상위로 나오게 역순으로 배치하고자, 입력한 date가 최신일수록 앞으로 오도록 sort('date',-1) 를 사용

    • delete 버튼을 누르면 리뷰가 사라지도록 구현

4. 어려웠던 점 & 극복 방법

  • DB 구조짜기

    • 일단 시작은 머릿속에서 생각나는 대로 무작정 DB에 저장하고 봤는데, 데이터를 꺼내오려고 보니 구조를 다시 짜야하기를 여러번. 데이터를 사용하기에 가장 적합한 구조를 찾아내는 것은 반복이 답이 아닐까.
  • 하나만 알고 둘을 모른다

    • 서치가 답이다.

      구현하고자하는 것이 분명해질수록 사용해야하는 문법이 다양해진다. 하지만 내가 알고있는 것은 극히 일부분이라 원하는 것을 얻어내기 위해서는 지속적인 서치가 필수. 이 때 서치 키워드도 중요한데 처음에는 막무가내로 찾느라 시간이 많이 소요되었는데 사이트를 타고타고 이것저것 읽어보다보면 힌트를 얻을 수있다.

      문법은 생각보다 직관적일때도 있고 영어에 휘둘리지 않고 찬찬히 들여다 보면 예시도 잘 나와있다.

5. 후기

  • 수업 때 진행한 영화리뷰의 큰 틀을 가져오게 된 건 크게 욕심부리지 않고 배운 것을 지면서 약간의 디벨롭을 하기 위함이었는데, 이 디벨롭이 욕심이었음을 그땐 몰랐다. 사실 드라마 리뷰도 추가하고 싶었지만 스크래핑 할 수있는 마땅한 페이지가 없어서 결국 영화로만 결정. 차별점을 두기위해 부트스트랩을 쓰지않고 화면을 직접 구현한 부분은 어렵지 않았는데 문제는 데이터 분석. 원하는 것을 얻어내기위해 배우지 않은 문법을 찾아내야했고 이 과정이 제일 오래 걸린것같다. 그래도 이 과정속에서 유용한 문법들을 알게되었고 결과를 얻어내는 것에 대한 쾌감은 짜릿. 100% 만족스러운 결과물은 아니지만 하나둘씩 채워지고 있는 과정을 겪으니 지속적으로 발전시키고자 하는 욕심이 생기는 프로젝트.

6. 추가해보고싶은 기능

  • 데이터 분석된 장르, 배우 카테고리에서 각각의 파트를 눌렀을 때 해당 영화 리스트가 나오도록 (현재는 상위 1개만 나옴)

  • 리뷰 리스트 페이지에 틈틈히 생기는 빈화면 부분 해결

  • 리뷰 리스트 더보기 기능

  • 리뷰 최신 입력순으로 나타나기 기능

  • 영화 검색기능

profile
https://github.com/hyojin-k

0개의 댓글