-
목표
커뮤니티 기능을 포함한 영화 추천 사이트 제작
-
기간
2022년 11월 16일 ~ 2022년 11월 24일
이름 | 역할 | 내용 |
---|---|---|
최유태 | FE | 컴포넌트 구성, 사용자 입력 저장, 홈페이지 레이아웃 구성, 홈페이지 디자인 |
최다은 | BE | 영화추천 알고리즘 구현, 영화 및 장르 데이터 수집, 댓글작성 CRUD |
-
사이트 어느 곳에서든 편리한 커뮤니티 활동
-
사용자의 활동 정보를 바탕으로 한 영화 추천
-
사용자의 커뮤니티 활동 내역을 한 눈에 확인할 수 있는 프로필 페이지
- 회원관리
dj-rest-auth
를 이용한 회원관리 기능 구현
- 영화 상세 내용 조회
- 영화 카드보다 더욱 세부적인 정보
- 화면 하단에 영화에 대한 리뷰 기능
- 다양한 기준에 따른 영화 목록 정렬
- 검색창 input의 변화에 따라 즉각적으로 검색어가 포함된 영화 출력
- 장르별 영화 출력
- 영화의 제목, 평점, 개봉일 기준으로 오름차순 내림차순 정렬
- 폴라로이드 필름 디자인 카드
- 영화 리스트를 디자인된 카드로 출력
- 각 카드에 마우스 hover시 flip되어 앞면과 다른 정보 표시
- 디테일로 가기, 좋아요 누르기 등
- 최다은
- 첫 프로젝트라 막막하기도 하고 걱정도 컷다.
-
취향을 파악하기 위한 데이터베이스 구조 설정
-
user id를 pk로 하고, 각 장르명을 컬럼명으로 갖는 테이블을 만들었다
-
이유
- 사용자별로 취향에 따라 장르에 따른 가중치를 계산해 넣기 위해
-
문제점
-
쿼리셋을 다루는데 익숙하지 않았다
-
genre 테이블에 있는 값을 불러와서 컬럼명으로 저장했는데, 처음 장르 데이터를 받을때 대문자로 시작하고 공백이 포함된 문자열로 받아 이를 컬럼명으로 사용하는 것이 부적절했다.
→
.lower().replace(' ', '')
를 통해 공백이 없는 소문자로 장르명을 받아옴 -
반복되는 장르명을 변수로 저장해 변수로 쿼리셋에 접근하는 것이 어색했다
→ 테이블 구조를 변경을 결정하게 된 가장 큰 이유
-
-
-
user id 와 genre id 두개를 pk로 하는 테이블을 만들었다
-
이유
- 유저에 따라서 필요하지 않은 장르가 있는 경우 않아도 된다.
- 문자열 값으로 접근하면서 겪었던 어려움을 id 값으로 접근하면 해결할 수 있을것 같았다.
-
문제점
-
두개의 필드를 동시에 pk로 사용하는 방법이 익숙하지 않았다.
→
UniqueConstraint
를 이용해 해결
-
-
-
-
홈페이지 레이아웃
-
처음 기획을 할 때 홈페이지의 디자인을 정하지 않고 시작
-
기능을 전부 구현하지 않고 머리속에 있는 디자인을 조금씩 첨가했음
-
때문에 기능 구현에 대한 코드 분석을할 때 가독성이 떨어짐
-
부트스트랩과 기본css를 구분없이 섞어서 사용하여 의도대로 레이아웃이 설정되지 않음
-
때문에 기능구현을 수행한 후 기존 css 리셋 후 레이아웃 구조 기획
-
Grid display 사용하여 화면 비율에 따라 요소들의 크기를 조정하며, 레이아웃의 기반을 잡음
→ 이후 홈페이지 구조 원하는 대로 구현가능
-
그러나 홈페이지 디자인의 수준이 낮아 구현해도 만족도 ↓
-