프로젝트 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일 안에 끝내기 힘든 주제로 정한 것 같기도 하다
욕심이 컸다. 스트리밍이라는 게 구현하기 조금은 복잡한 거 같다.
최대한 어떻게 든 영상 하나라도 볼 수 있게 만드는게 목표이다.
'공부일지 > 클라우드 SA 교육' 카테고리의 다른 글
4/27 세미 프로젝트 4일차: 혈이 뚫리다. (0) | 2025.04.27 |
---|---|
[3주차] 주간 회고 (2025.04.21 ~ 04.27) (0) | 2025.04.27 |
4/24 세미프로젝트 1일차: 기획 및 설계 (0) | 2025.04.24 |
4/23 세미프로젝트 0일차: 두둥~ Miniflix (0) | 2025.04.24 |
4/22 혼자 인프라 구축 해보기 (0) | 2025.04.22 |