개발일지 21 - 시청 가이드 기능 추가(1of메인기능) 및 테이블 개선, 데이터 수집 개선

tk7580·2025년 6월 23일

시청 가이드 기능 추가

기존엔 series나 work테이블에 작품 시청 순서 칼럼이 존재했는데, 시청 순서 나열을 넘어 왜 이 순서로 봐야 하는지에 대한 설명을 포함하는 시청 가이드 기능을 위해 두 개의 새로운 테이블을 추가하기로 계획했다.

보통 작품들은 발매 순서대로 봐도 대부분 무방하지만,
작품 내 시간선 순서대로 보고 싶은 경우도 있을 수 있고
스포일러가 되지 않는 선에서 해설이 동반된다면 좋을 것 같다고 생각하여 이런 식으로 설계하게 되었다.

예시)
나의 히어로 아카메디아 본편과 비질랜티
비질랜티는 본편 애니화가 끝나갈 시점에 애니화가 된다.

페이트 ubw와 제로
제로는 ubw이전의 시간대이다.

킹스맨 시리즈도 후에 나온 작품이지만 이전의 시간대를 다루고 있고, 스타워즈 시리즈같이 많은 작품이 나온 경우는 해설이 있을수록 좋다고 생각한다.

새로운 두 개의 테이블 신설
viewing_guide와 viewing_guide_item

viewing_guide 테이블 (시청 가이드)

컬럼명타입제약조건설명
idBIGINTPRIMARY KEY, AUTO_INCREMENT가이드 고유 번호
regDateDATETIMENOT NULL등록 날짜
updateDateDATETIMENOT NULL수정 날짜
seriesIdBIGINTNOT NULL대상 시리즈 ID (series.id 참조)
guideNameVARCHAR(100)NOT NULL가이드 이름 (예: 시간순, 추천순)
guideDescriptionTEXT가이드에 대한 간략한 설명

viewing_guide_item 테이블 (시청 가이드 항목)

컬럼명타입제약조건설명
idBIGINTPRIMARY KEY, AUTO_INCREMENT항목 고유 번호
guideIdBIGINTNOT NULL가이드 ID (viewing_guide.id 참조)
workIdBIGINTNOT NULL작품 ID (work.id 참조)
stepNumberINT UNSIGNEDNOT NULL가이드 내 순서
stepDescriptionTEXT해당 순서로 보는 이유에 대한 설명

테이블 개선

그리고 추후 AniList도 연동할 것을 생각하여

work테이블에 episodes (총 편수), duration (회당 분량), creators (감독/제작자), studios (개별 작품 제작사), isOriginal (원작 여부) 컬럼을 추가하였다.
(원피스의 경우 만화 타입의 work데이터에만 원작 여부 boolean 값이 true가 된다.)

series 테이블에는 publisher (원작 연재처/출판사), author(원작자), studios(시리즈 전체를 대표하는 제작사) 칼럼을 추가하였다.
(원피스의 원작자는 오다 에이치로, 원피스의 연재처는 주간 소년 점프, 스타워즈 시리즈의 대표 제작사는 루카스 필름 등)


데이터 수집 개선

TMDB의 '원피스 필름 레드(ID: 900667)'와 AniList의 '원피스 필름 레드(ID: 51145)'가 사실상 같은 작품임에도 이를 자동으로 인지하지 못하고 별개의 작품으로 저장할 수 있는 문제가 생길 것을 염려하여 향후 LLM 도입을 통해 이러한 동일 작품을 자동으로 연결할 방안 기획

그리고 원작자는 series.author에, 제작사는 work.studio에 각각 분리하여 저장하도록 수정
work중 series의 근간이 되는 원작과 다른 work를 구분하기 위함이다.

0개의 댓글