← 포트폴리오 목록

AI 영상 시청 플랫폼

시네마와 쇼츠 두 축으로 AI 제작 영상을 보는 시청자용 웹을 설계합니다.

프로젝트 납품 요약

아래 프로젝트 개요와 핵심 기능에서 구현 화면을 확인할 수 있습니다.

서비스 타입Web
업종AI 서비스
기술 스택
ReactTypeScriptTailwind CSShls.jsNode.jsExpressPrismaPostgreSQL
주요 기능
  • 홈 — 이어보기와 오늘의 편성
  • 탐색 — AI 제작방식 필터
  • 쇼츠 — 세로 연속 재생 피드
  • 내 보관함 — 이어보기·찜·구독

프로젝트 개요

범위: 개발, 디자인, 기획

시네마와 쇼츠 두 축으로 AI 제작 영상을 보는 시청자용 웹을 설계합니다. 이어보기와 오늘의 편성이 놓인 홈, AI 제작방식 필터 탐색, 작품 상세와 플레이어, 세로 쇼츠 피드, 구독·보관함을 한 흐름으로 묶은 동작 프로토타입입니다. 재생 권한 확인과 DRM 라이선스는 연동 인터페이스와 권한 구조 수준으로 제안하고, 앱은 같은 API를 쓰는 React Native 확장 로드맵으로 제안합니다.

작업 범위

  • 홈 — 이어보기와 오늘의 편성: 로그인한 시청자가 첫 화면에서 지금 이어보기 중인 회차와 오늘의 편성 섹션, 새 회차 알림을 바로 봅니다. 시네마와 쇼츠 두 축이 같은 화면에 놓이고 포스터 사진이 중심이 됩니다
  • 탐색 — AI 제작방식 필터: 장르·분위기 분류와 AI 제작방식·사용 도구 칩을 조합해 작품 목록을 거릅니다. 작품을 누르면 소개·회차·창작자 정보·공개 가능한 AI 제작정보가 담긴 상세 대화상자가 열립니다
  • 쇼츠 — 세로 연속 재생 피드: 세로 화면에서 다음 영상으로 넘어가며 좋아요·공유·창작자 팔로우를 누릅니다. 다음 영상을 미리 불러와 끊김 없이 이어지는 흐름을 보여 줍니다
  • 내 보관함 — 이어보기·찜·구독: 이어보기·찜·재생목록·시청 이력과 구독 상태를 탭으로 모아 봅니다. 구독 해지와 환불 요청, 무료 이용자의 광고 안내까지 한 화면에서 확인합니다

주요 업무

  • 홈 — 이어보기와 오늘의 편성 화면: 시청 이력 API의 재생 위치와 운영자 편성 데이터를 한 화면으로 조합해 이어보기 줄과 편성 섹션을 그립니다
  • 탐색 — AI 제작방식 필터 화면: 코드 사전의 표준 코드를 필터 값으로 쓰고, 선택한 칩 조합을 URL 상태와 동기화합니다
  • 쇼츠 — 세로 연속 재생 피드 화면: 현재·다음·이전 영상만 메모리에 두는 윈도우 구조와 재생 이벤트 수집을 함께 설계합니다
  • 내 보관함 — 이어보기·찜·구독 화면: 구독 상태와 재생 권한 결과를 한 모델로 묶어, 같은 규칙을 플레이어와 보관함이 함께 씁니다
AI 영상 시청 플랫폼
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

DRM 라이선스와 앱 인앱 구독은 실기기와 스토어 계정 검증이 필요해

연동 인터페이스와 권한 구조를 먼저 고정하고 단계별로 검증합니다

쇼츠 연속 재생에서 다음 영상 프리로드와 메모리 사용의 균형을 맞추는 윈도우 크기 결정이 필요합니다

연령 등급과 시청 제한 작품이 목록·검색·상세 어디에서도 새지 않

노출 통제를 서버 한 곳에서 처리해야 합니다

이어보기 위치 저장 요청이 잦아 서버 부담이 커질 수 있어

일정 간격 묶음 전송과 마지막 위치 우선 규칙 설계가 필요합니다

구현 내용

핵심 기능 상세

핵심 기능 1

홈 — 이어보기와 오늘의 편성

로그인한 시청자가 첫 화면에서 지금 이어보기 중인 회차와 오늘의 편성 섹션, 새 회차 알림을 바로 봅니다. 시네마와 쇼츠 두 축이 같은 화면에 놓이고 포스터 사진이 중심이 됩니다.

  • Express 홈 조합 엔드포인트에서 재생 위치·편성 섹션·새 회차 알림을 한 번에 응답
  • Prisma 관계 조회로 시청 이력과 작품·회차를 묶고 연령 등급 조건을 서버에서 필터
  • 편성 섹션 순서를 데이터로 받아 화면 구성이 코드 수정 없이 바뀌는 구조 설계

운영자가 정한 편성 순서와 시청자의 이어보기 위치를 한 응답으로 조합해, 첫 화면이 사람마다 다른 실제 장면이 되도록 설계합니다.

홈 — 이어보기와 오늘의 편성
홈 — 이어보기와 오늘의 편성 실제 화면
핵심 기능 2

탐색 — AI 제작방식 필터

장르·분위기 분류와 AI 제작방식·사용 도구 칩을 조합해 작품 목록을 거릅니다. 작품을 누르면 소개·회차·창작자 정보·공개 가능한 AI 제작정보가 담긴 상세 대화상자가 열립니다.

  • 표준 코드 기반 다중 선택 칩과 URL 쿼리 동기화로 필터 상태 공유 구조 설계
  • PostgreSQL 조합 조건 쿼리와 키워드 검색을 하나의 목록 API로 통합
  • 시리즈·회차 목록과 창작자 채널 이동을 작품 상세 한 화면에 묶는 컴포지션 설계

장르·키워드·AI 제작정보를 조합하는 검색을 표준 코드 필터로 단순화해, 검색엔진 도입 여부를 나중에 결정할 수 있는 구조로 설계합니다.

탐색 — AI 제작방식 필터
탐색 — AI 제작방식 필터 실제 화면
핵심 기능 3

쇼츠 — 세로 연속 재생 피드

세로 화면에서 다음 영상으로 넘어가며 좋아요·공유·창작자 팔로우를 누릅니다. 다음 영상을 미리 불러와 끊김 없이 이어지는 흐름을 보여 줍니다.

  • Intersection Observer로 화면에 들어온 쇼츠만 재생하고 나머지는 일시정지하는 구조
  • 다음 영상 1개를 미리 불러오는 프리로드 큐와 hls.js 적응형 화질 전환 설계
  • 재생·완주·이탈 이벤트를 배치로 묶어 전송하는 이벤트 수집 모듈 구현

화면에 보이는 영상만 재생하는 윈도우 구조와 이벤트 배치 전송을 결합해, 연속 재생 흐름과 시청 데이터 수집을 같은 모듈에서 처리하도록 설계합니다.

쇼츠 — 세로 연속 재생 피드
쇼츠 — 세로 연속 재생 피드 실제 화면
핵심 기능 4

내 보관함 — 이어보기·찜·구독

이어보기·찜·재생목록·시청 이력과 구독 상태를 탭으로 모아 봅니다. 구독 해지와 환불 요청, 무료 이용자의 광고 안내까지 한 화면에서 확인합니다.

  • 재생 요청 시 구독·무료·시청 제한을 확인하고 만료 시각이 있는 임시 재생 주소를 발급하는 API 설계
  • 정기결제 PG 연동 인터페이스와 구독 상태 머신(시작·갱신·해지·만료·환불) 설계
  • DRM 라이선스 발급은 연동 인터페이스와 권한 구조 수준으로 추상화해 서버 계약만 정의

구독 상태 머신과 재생 권한 판정을 한 모듈에 두어, 웹 결제와 후속 앱 인앱 구독이 같은 권한 규칙을 공유하는 구조로 설계합니다.

내 보관함 — 이어보기·찜·구독
내 보관함 — 이어보기·찜·구독 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

시청 흐름·권한 규칙 및 데이터 모델링 · 2026.10

홈·탐색·플레이어·보관함 흐름, 재생 권한 규칙, 작품·회차·AI 제작정보 코드 테이블과 시청 이력 스키마 정의

STEP 2

플레이어·쇼츠 피드 구현 · 2026.10

hls.js 적응형 화질 플레이어, 이어보기 위치 저장, 세로 쇼츠 프리로드 큐와 시청 이벤트 수집 구현

STEP 3

구독·보관함·댓글 구현 · 2026.10

정기결제 연동 인터페이스, 구독 상태 머신, 찜·재생목록·댓글·신고 기능 구현

STEP 4

앱 확장 로드맵 정리 · 2026.10

같은 API를 쓰는 React Native 앱 확장 구조와 인앱 구독·푸시 연동 지점 문서화

개발 결과

재생 권한 판정 모듈 설계구독·무료·시청 제한을 한 함수로 판정하고 만료 시각이 있는 임시 재생 주소를 발급하는 서버 구조 설계
AI 제작방식 조합 필터 구현표준 코드 칩 다중 선택과 URL 쿼리 동기화로 걸러낸 목록을 공유 가능한 주소로 복원하는 필터 구현
쇼츠 윈도우 재생 구조 구현현재·다음 영상만 유지하는 윈도우와 프리로드 큐, 화면 진입 기준 자동 재생·일시정지 구현
구독 상태 머신 설계시작·갱신·해지·만료·환불 상태 전이를 표로 정의하고 전이마다 권한과 알림이 바뀌는 구조 설계

기술적 주안점

  • 운영자가 정한 편성 순서와 시청자의 이어보기 위치를 한 응답으로 조합해, 첫 화면이 사람마다 다른 실제 장면이 되도록 설계합니다
  • 장르·키워드·AI 제작정보를 조합하는 검색을 표준 코드 필터로 단순화해, 검색엔진 도입 여부를 나중에 결정할 수 있는 구조로 설계합니다
  • 화면에 보이는 영상만 재생하는 윈도우 구조와 이벤트 배치 전송을 결합해, 연속 재생 흐름과 시청 데이터 수집을 같은 모듈에서 처리하도록 설계합니다

유사한 프로젝트를 기획하고 계신가요?

필요한 기능과 일정을 알려주시면 개발 범위를 함께 정리하겠습니다.

프로젝트 문의