-
Notifications
You must be signed in to change notification settings - Fork 2
10 30
Seungheon Han edited this page Oct 30, 2024
·
1 revision
- 백로그 작성
- 페이지 별로 각자 기능 나누기
- 피그마 디테일 정하기 (폰트, 색상, 레이아웃 간격, radius 강도)
- Github(Project, label, milestone, issue, pr, wiki) 세팅
- 에픽 - 불필요
- 스토리
- 태스크
- BE, FE
- 스프린트
[마일스톤(Milestone) - 스타트업의 이정표](https://www.waveon.io/blog/milestone)
[사용자 스토리 (User Story) 작성 방법을 알아보자](https://smoothwork.tistory.com/27)
[애자일스럽게 팀 운영하기: 유저 스토리 뜯어보기 | 요즘IT](https://yozm.wishket.com/magazine/detail/1097/)
스토리 :
사용자
는목적을
위해서활동/작업
을 하기를 원한다 태스크 : PR 단위가 최소단위!!
- 개발자는 작업을 편하게 하기 위해서 공통 개발 환경 세팅을 한다.
-
헤더 (한승헌)
- 캠퍼는 특정 기능을 사용하기 위해 로그인을 한다.
- 로그인 버튼 구현
- 로그인 모달 구현
- 소셜 로그인 버튼 구현
- github 로그인에 대한 로직을 구현
- naver 로그인에 대한 로직을 구현
- 로그인이 완료되면 로그인 버튼은 로그아웃 버튼으로 변경
- 로그인이 완료되면 체크인 버튼 구현
- 캠퍼는 서비스를 그만 사용하기 위해 로그아웃을 한다.
- 캠퍼는 언제든지 홈화면으로 돌아가기 위해 로고 버튼을 누를 수 있다.
- 캠퍼는 개인 정보 관리를 위해 개인 정보 페이지를 들어간다.
- 캠퍼는 특정 기능을 사용하기 위해 로그인을 한다.
-
메인페이지
( 김광현 )
- 캠퍼는 네트워킹 및 출결 체크를 위해 방송 시작 한다.
- 방송 창 PIP 모드 구현
- 서버와 연결
- 캠퍼는 방송을 시작하기 위해 방송 정보(ex) 제목)를 설정한다.
- 캠퍼는 특정 분야의 방송을 보기 위해 필터링 버튼을 누를 수 있다.
- 캠퍼는 특정 캠퍼의 방송을 찾기 위해 검색을 한다.
- 캠퍼는 특정 캠퍼의 방송을 클릭할 수 있다.
- 캠퍼는 어떤 방송을 선택할 수 있도록 방송 미리보기 레이아웃을 볼 수 있다.
- 캠퍼는 네트워킹 및 출결 체크를 위해 방송 시작 한다.
-
개인 정보 페이지
- 캠퍼는 개인 정보 갱신을 위해 개인 정보 페이지를 수정 한다.
- 캠퍼는 자기 PR을 위해 개인 정보 페이지에서 링크(github, linkedin, …)를 등록한다.
- 캠퍼는 출결 사항을 확인하기 위해 방송 시간을 확인한다.
- 캠퍼는 본인이 어떤 분야에 속해 있는지 알리기 위해 분야를 설정한다.
-
방송 시청 화면 (완료)
- 캠퍼는 송출되는 방송을 본다.
- 방송 화면 컴포넌트 구현
- webRTC로 실시간 미디어 제공
- 미디어 서버(?)에서 스트림 데이터를 제공
- 캠퍼는 네트워킹을 하기 위해 채팅을 한다.
- 채팅 컴포넌트 구현
- 채팅 서버 구현
- 캠퍼는 원활한 방송 시청을 위해 화질을 조정한다.
- 방송 화질 조정 버튼 구현
- webRTC를 통해 스트림 형식으로 받는 데이터를 가공 및 저장
- 미디어 서버에서 화질별 영상 제공 ( api? webRTC? )
- 방송을 보는 캠퍼는 방송을 하는 캠퍼의 정보를 얻기 위해 상세 정보를 본다.
- 방송 중인 캠퍼의 상세 정보 컴포넌트 구현
- 방송 정보 제공
- 캠퍼는 송출되는 방송을 본다.
-
방송 설정 모달 ← Slack web 참고 (희선)
- 캠퍼는 방송 영상을 저장하기 위해 방송 시작 시 녹화 버튼을 누른다.
- 캠퍼는 본인이 지금 하고 있는 일을 알리기 위해 제목을 수정한다.
- 제목 입력 컴포넌트 구현
- 제목 수정 버튼 구현
- 캠퍼는 본인의 화면을 공유하기 위해 화면 공유를 키고 끌 수 있다.
- 캠퍼는 화상캠을 켜고 끄기 위해 화상 공유 버튼을 누른다.
-
숨김
- 부스트 캠퍼
- 온라인으로 교육에 참
- 코어타임에 방송형 소통을 통해 네트워킹
- 출석에 대한 고민도 해결
- 같은 고민을 가진 캠퍼들간의 소통창구
- 사용자는 방송을 할 수 있다.
- 사용자는 로그인을 할 수 있다.
- 부스트 캠퍼
- Mediasoup 포트 매핑 문제
- swagger 같은 응답 코드에 다양한 응답 보여주기
- Sudo가 계속 비밀번호를 요청함
- Docker 이미지가 너무 크다
- Git action에서 도커 이미지 빌드 시간을 단축시켜보자
- Docker compose를 이용해서 메모리 사용률을 줄여보자
- 방송 녹화 시 CPU 과부하 문제를 해결해보자
- Release 브랜치? 너 필요해?
- 로딩이 너무 짧아…!
- NestJS ORM으로 무엇을 사용해야 할까?
- WebRTC를 이용한 1:N 스트리밍 서비스에서 시그널링 서버가 필요할까?
- 실시간 채팅 구현: 인메모리 방식을 선택한 이유
- MySQL 아키텍처 개선: DB 의존성 분리와 서버 역할 명확화
- 브라우저 창이 최소화되면 비디오 송출이 안된다…!
- Mediasoup 기본 개념
- DLTS와 Signaling
- Tell, Don't Ask (TDA) 원칙이란
- VPC(Virtual Private Cloud) 학습 정리
- 순환참조: A 서비스 ‐ B 서비스 vs. A 서비스 ‐ B 레포지토리
- Dto 메서드 전략
- WebRTC란?
- 자바스크립트 패키지 매니저(npm, yarn, pnpm)
- shadcn/ui을 이용해 UI 개발 생산성 높이기
- React 이벤트 핸들러 네이밍(on vs handle)
- React-router-dom의 createBrowserRouter을 사용해보기
- fetch vs axios