프로젝트 주제: 영화 추천 알고리즘을 가진 영화 커뮤니티 서비스
프로젝트 멤버: 팀장 박준홍, 팀원 여현빈
작업분배: Frontend - 박준홍, Backend - 여현빈
프로젝트 이름: Beanwiki
프로젝트 개요: 알고리즘을 활용한 영화 추천 및 다양한 기능을 제공하는 영화 커뮤니티 서비스
프로젝트 기능 소개:
- 다양한 추천을 종합하여 유저에게 가장 적합한 영화를 추천합니다
- 코사인 유사도 분석, chatGPT 추천, tmdb 영화 추천 API를 활용합니다
- 코사인 유사도 분석을 위해 사용자가 클릭한 영화 및 좋아요를 누른 데이터를 저장합니다
- 메인 페이지에서 쉽게 접근이 가능한 영화 정보
- Modal 및 수평 스크롤을 활용해 다양한 영화 정보 한눈에 보기 쉽게 제공합니다
- 영화 커뮤니티 기능
- 영화 커뮤니티에서 영화와 관련된 다양한 주제에 대해 이야기가 가능합니다
- 기억나지 않는 영화의 제목을 찾는 기능을 제공합니다
- chatGPT OpenAI API를 활용해서 유저가 배우이름, 감독이름, 줄거리를 제공하면 그에 맞는 영화 제목을 제공합니다
프로젝트 개발 일지
-
2023년 5월 16일 (화요일)
- 정식 프로젝트 시작 전 Figma 및 Notion을 활용하여 저희 팀이 어떠한 아이디어를 가지고 서비스를 제작할 지 고민해보았습니다
- 실제로 넷플릭스, Wavve, 왓챠피디아, 왓챠피디아 US. tving과 같은 사이트의 UI/UX를
- 어떠한 서비스를 참고할 것인지 고민해보았습니다
- 특히, 최근 많은 관심을 받고 있는 chatGPT와 같은 AI 기술을 활용해보기로 목표하였습니다
- 영화 추천을 위해 코사인 유사도 분석을 공부해보았습니다
-
2023년 5월 17일 (수요일)
- 오늘의 작업: 프로젝트 주제 및 기능 확정, Django Model 고민, ER Diagram 제작
- 오늘의 이슈 #1: ER Diagram 제작 및 Django Model 고민
- 이슈 내용: ER Diagram 및 Django Model을 만들 때, 코사인 유사도 분석을 위해 사용자가 클릭한 영화 및 좋아요를 누른 데이터를 저장하는 테이블을 구성하는 것에 어려움을 겪었습니다
- 이슈 해결방법: (5/19) 1:N 관계로 선호 영화를 저장해두고 이를 활용해서 코사인 유사도를 분석할 수 있도록 설계하였으며, 이에 맞춰 DB 모델을 다시 고민해보고 수정하는 시간을 가졌습니다.
- 오늘의 이슈 #2: 컨셉 방향 결정
- 이슈 내용: 왓챠피디아를 개선하는 방식의 서비스와, 특정한 컨셉(주제)를 가지고 서비스를 구성할지에 대한 고민을 하였습니다
- 이슈 해결 방법: 다른 팀의 중간 결과물 및 유튜브 라이브의 교수님의 말씀을 듣고, 저희 팀만의 약간의 특이한 점을 추가하면 좋겠다는 생각에 도달하였습니다.
- 그래서 저희는 로딩화면이나 메인화면에서 저희 팀원의 사진을 사용해 약간의 개성을 돋보이며 좋을 것 같다는 아이디어를 가지게 되었습니다.
-
2023년 5월 18일 (목요일)
- 오늘의 작업: Django Model 완성 (추천 알고리즘을 고려한 설계) , ER Diagram 제작, Vue 구조 완성, Vue 로그인 및 회원가입 임시 구현
- 오늘의 이슈 #1: Django Model 고민
- 이슈 내용: Django 모델에 10000개의 데이터가 들어가면 비효율적이지 않을지 고민하였고, 영화 검색 및 개별 영화 표시를 위한 특정 데이터를 받아오는 작업을 위한 모델 구성
- 이슈 해결 방법: Django 모델이 정말 많은 데이터도 효율적으로 다룬다는 점을 알게 되었고, =source와 같은 방법으로 특정 데이터를 가져오는 작업을 진행하였습니다.
- 오늘의 이슈 #2: 로그인 및 회원가입 기능 구현 중 오류 발생
- 이슈 내용: 제가(박준홍) 구현하고 있던 로그인 및 회원가입 기능 구현중 400 Error가 발생하여 두 기능 모두 정상작동을 하지 않은 오류가 있었습니다
- 이슈 해결 방법: 팀원(여현빈)의 조언으로 기능 처음부터 차근차근 console.log를 통해 자료를 axios에서 제대로 보내지 않는다는 사실을 발견하였습니다
- 따라서 어떤 오류가 발생된다면, print와 console.log를 활용해 기능 구현 첫단계부터 천천히 어디가 문제인지 파악하는 것이 좋겠다는 생각을 하였습니다. 또한 구현을 할때 조금 구현하고 확인하는 과정이 필요하다고 생각하였습니다.
- 코멘트
- 둘이서 같이 페어 프로그래밍을 진행하니 서로 모르는 부분을 채워가면서 수월하게 프로젝트를 진행할 수 있었습니다만, 대신 작업 속도가 늦어질 수 있다는 점도 알게 되었습니다.
-
2023년 5월 19일 (금요일)