[j]프로젝트
jieun / signal terminal
? help
페이지 탐색

Project summary / cinemate

씨네메이트(cineMATE)

영화를 추천받고 서로의 취향을 공유하는 영화 SNS

visitor > GET /projects/cinemate200 OK
← 프로젝트 목록

01 / 프로젝트 이해

평점 높은 영화의 포스터 카드와 국내 최신 개봉 영화, 박스오피스 순위를 보여주는 씨네메이트 홈 화면
cineMATE / 영화 포스터와 최신 개봉·박스오피스 정보를 모은 홈 화면

취향에 맞는 영화를 찾고 리뷰를 나누며, 친구와 닮은 영화를 선택해 결과 카드로 남기는 영화 서비스입니다.

개발 기간
2024.11
팀 구성
2인 팀 · FE·BE 1 / BE 1
기술 스택
Django · Vue · SQLite
제공 상태 ·
공개 저장소 · 시연 영상 제공

내 역할과 핵심 기여

2인 팀에서 서비스 흐름·UX/UI·ERD를 함께 구상하고, 회원·영화 API·추천·무비포유와 프런트엔드 전반을 구현했습니다.

  • 로컬 영화와 TMDB 검색 결과를 연결하고 외부 영화도 사용자 활동에 저장했습니다.
  • 장르 빈도·유사 사용자·생일·기념일 등 기준별 추천을 구현했습니다.
  • 무비포유의 선택값 계산부터 영화 결과, PNG 다운로드와 서버 보관까지 연결했습니다.
전체 아키텍처로컬 영화와 외부 API를 함께 사용하는 구조
  • Vue 웹

    Pinia · Axios · 일부 화면에서 KOFIC·TMDB 직접 조회

회원·영화·추천·카드 API 요청

Django · DRF

회원·추천·커뮤니티 · TMDB 조건 조회 · 무비포유 카드 저장

저장 데이터 조회 · 파일 보관 · 외부 영화 요청

  • SQLite

    영화·사용자·좋아요·북마크·리뷰·카드

  • 서버 media

    프로필·무비포유 카드 이미지

  • TMDB

    영화 검색·조건별 후보·포스터

내 담당: 회원·영화·추천·무비포유와 FE 전반. 팀원은 Serializer, 리뷰·댓글 CRUD, fixture·DB 관리와 발표 자료를 맡았습니다.

구조·설계 판단 상세

02 / 구현과 문제 해결

무비포유: 선택에서 결과 카드까지

  1. 01 · 사용자 → Vue친구의 성향 선택

    답변의 장르 가중치를 합산하고 대표 장르를 구합니다.

  2. 02 · Vue → Django선택값 전달

    장르·생월·성향·친구 이름을 요청에 담습니다.

  3. 03 · Django ↔ TMDB후보·포스터 반환

    조건에 맞는 영화와 Base64 포스터를 반환합니다.

  4. 04 · Vue ↔ Django카드 저장

    html2canvas로 PNG를 만들고 다운로드·서버 보관을 제공합니다.

실제 추천은 정해진 점수와 조회 조건으로 실행됩니다. 개발 중 생성형 AI를 가중치 계산·재분배와 샘플 준비에 활용했습니다.

실행 흐름 상세

CASE 01검색한 영화가 초기 DB에 없을 때

문제
외부 검색 결과가 로컬 Movie에 없으면 좋아요·북마크를 영화 관계만으로 저장하기 어려웠습니다.
판단·대응
활동 모델에 외부 영화 ID와 필요한 영화 정보를 보관하고, 사용자·외부 ID의 고유 제약으로 중복을 제한했습니다.
결과·한계
로컬 Movie 선등록 없이 외부 영화를 보관할 수 있습니다. 활동마다 정보가 중복되며 외부 정보 갱신 정책은 별도로 필요합니다.
문제 해결 기록 읽기

구현한 범위와 남은 과제

추천·리뷰와 무비포유의 결과 표시·다운로드·서버 저장을 구현했습니다. SNS 공유 버튼은 준비 중인 기록이며, 모델 기반 추천은 적용 전 리팩토링 계획입니다.

START_HERE.md

처음 오셨나요?

1 / 3

메뉴에서 가볍게 둘러봐요

상단 메뉴에서 소개, 기술스택, 프로젝트를 골라 이동할 수 있어요. 프로젝트는 요약부터 읽고, ‘기술 상세 읽기’로 상세 기록까지 살펴보세요.

화면 예시 · 실제 기능은 안내를 닫은 뒤 이용해 주세요.