프로젝트 2일차 어제 하려던 요구사항 정의서랑 api 명세서이다.

 

1. 기능 요구사항 정의서 (기본 목표 기반)

1. 영상 목록 조회 메인 화면에 표시할 영상 리스트 제공 (썸네일, 제목)
2. 영상 상세 조회 사용자가 영상을 클릭했을 때, 해당 영상의 상세 정보 + 스트리밍 주소 제공
3. 영상 재생 Vue에서 받은 .m3u8 주소를 브라우저가 video.js로 요청하여 재생
(선택) 영상 업로드 (관리자) 미디어 파일 등록 + 썸네일, 제목 정보 저장 (현재 범위에서는 제외 가능)

2. API 명세서 (초안)

[GET] /api/movies

설명 메인 화면 영상 리스트 조회
응답 예시 [{ "id": 1, "title": "영화 제목", "thumbnailUrl": "/images/1.jpg" }, ...]
반환 타입 application/json
용도 메인 페이지의 썸네일 리스트 표시용

[GET] /api/movies/:id

설명 영상 클릭 시 상세 정보 + 스트리밍 주소 조회
요청 예시 /api/movies/3
응답 예시  

 

이렇게 해서 백엔드를 만들어야한다.

팀원들이 자신들 서버 완성 후 백엔드 서버랑

스트리밍 서버 도와주기 시작했다.

 

나는 목데이터로만 수행하던 WEB 서버에 스트리밍 서버를 nginx.conf 에 추가해 /stream 으로 요청이 오면 스트리밍 서버로 프록시 될 수 있게 했다.

 

이 후 Vue 코드를 수정해 영상카드 클릭 시 해당 영상 아이디로 스트리밍 서버로 검색할 수 있게 하였다.

 

하지만 이렇게 수정 후 빌드하여 VM에 올렸는데 반영이 안되서 디버깅하다가 끝났다.

 

내일 토요일 강의실 열린다고해서 가서 못 끝냈던거 끝내야겠다.

오랜만에 Vue로 프론트 만드려니까 조금 어려웠다.

특히 nginx를 통해 백엔드랑 스트리밍 서버로 요청을 보내고 하는 걸

VM에 돌려야 해서 뭔가 친숙하지 않은 것도 큰 거 같다.

 

주제도 5일 안에 끝내기 힘든 주제로 정한 것 같기도 하다

욕심이 컸다. 스트리밍이라는 게 구현하기 조금은 복잡한 거 같다.

 

최대한 어떻게 든 영상 하나라도 볼 수 있게 만드는게 목표이다.

+ Recent posts