Codemit
웹 서비스 · 개최 · 단기심화8

실시간 방송 플랫폼 개발

웹 애플리케이션

무료 공모전
상금무료
마감D-142026. 11. 19. 오후 11:59:00
참가작아직 참가작이 없습니다
제출하러 가기

설명 · 보상 안내

실시간 방송 플랫폼 개발

1. 공모 주제

치지직과 같은 실시간 라이브 방송을 송출하고 시청할 수 있는 웹 서비스를 개발합니다.

2. 필수 요구사항

1. PC 라이브 방송

  • PC 화면 공유와 마이크를 이용해 라이브 방송을 시작하고 종료합니다.
  • 화면 공유 시 탭 소리 또는 시스템 소리를 마이크 음성과 함께 송출합니다.
  • PC에서 송출한 방송을 다른 기기에서 실시간으로 시청합니다.
  • 방송 시작, 화면 공유, 소리 송출, 시청, 종료 흐름을 확인합니다.

2. 모바일 라이브 방송

  • 휴대폰 카메라와 마이크로 라이브 방송을 시작하고 종료합니다.
  • 카메라 영상과 마이크 음성을 실시간으로 송출합니다.
  • 휴대폰에서 송출한 방송을 다른 기기에서 시청합니다.
  • 방송 시작, 영상 및 음성 송출, 시청, 종료 흐름을 확인합니다.

3. 방송 관리 및 시청

  • 방송 제목 등 방송 정보를 등록, 수정, 삭제합니다.
  • 방송 목록과 상세 화면을 제공하고 원하는 방송을 선택해 시청할 수 있게 합니다.
  • 방송 중과 종료 상태를 구분하고, 방송 종료 시 송출을 중단합니다.
  • 방송 정보를 저장하고 서버 재시작 후에도 조회할 수 있게 합니다.

4. 사용자 인증 및 인가

  • 회원가입, 로그인, 로그아웃과 인증 상태 관리를 구현합니다.
  • 로그인한 사용자만 방송을 등록하고 송출할 수 있게 합니다.
  • 방송 수정, 삭제 및 송출 제어 시 서버에서 인증 상태와 방송 소유자 권한을 확인합니다.
  • 비로그인 사용자, 방송 소유자, 다른 사용자로 나눠 접근 허용과 거절을 확인합니다. 방송 목록 조회와 시청은 로그인 없이 가능합니다.

3. 선택 요구사항

다음 기능은 선택 사항이며, 구현하지 않아도 감점하지 않습니다. 구현한 기능의 완성도에 따라 가산점이 부여됩니다.

1. 댓글

  • 로그인한 사용자가 방송별 댓글을 작성하고 댓글 목록을 조회할 수 있게 합니다.
  • 댓글 수정과 삭제 기능을 구현하고 서버에서 작성자 권한을 확인합니다.

2. 도네이션

  • 로그인한 사용자가 후원할 방송자와 금액을 선택합니다.
  • 결제 서비스의 테스트 모드에서 결제를 요청하고, 서버에서 승인 결과, 금액, 후원 대상을 확인한 뒤 후원을 확정합니다.
  • 같은 승인 통지가 반복되어도 한 번만 적립되도록 처리하고, 방송별 후원 내역과 합계를 표시합니다.

3. 녹화 및 다시보기

  • 라이브 방송을 녹화 영상으로 저장합니다.
  • 녹화 영상 목록과 상세 화면을 제공하고 영상을 재생합니다.
  • 방송 정보와 영상 위치를 저장하고 서버 재시작 후에도 조회할 수 있게 합니다.

4. 평가 기준

  • 기능 완결성: 필수 기능 구현 및 정상 동작
  • 인증 및 인가: 사용자별 접근 권한 및 소유자 권한 검증
  • 코드 품질 및 안정성: 코드 구조, 예외 처리, 방송 상태 관리
  • 문서화: README의 실행 방법 및 기능 확인 절차
  • 가산점: 선택 기능의 구현 및 완성도

필수 기능의 완성도를 우선 평가합니다.

5. 제출 방법

  • 마감: 2026년 11월 19일(목) 밤 11시 59분
  • 제출: 공개 GitHub 저장소 URL
  • 제출 횟수: 최종 결과물 1회

6. README 안내

README에는 다음 정보를 반드시 작성해야 합니다.

  • 서비스 주소: 실제 접속 가능한 URL
  • 테스트 계정: 평가용 계정 정보 또는 테스트 계정으로 바로 로그인하는 기능 및 이용 방법
  • 실행 방법: 실행 환경과 환경변수 예시
  • 기능 확인: PC 및 모바일 방송 송출, 시청, 종료 방법과 지원 환경

서비스 접속이나 테스트 로그인이 불가능한 경우 평가에 반영될 수 있습니다.

시연 영상 링크는 선택 사항입니다. README는 심사자가 기능을 쉽게 확인할 수 있도록 명확하게 작성해 주세요.

7. 유의 사항

  • 프론트엔드, 백엔드 및 스트리밍 기술은 자유롭게 선택합니다.
  • 개발 생산성을 높이기 위해 AI 개발 도구를 적극적으로 활용하는 것을 권장합니다.
  • 오픈소스 및 기존 코드 활용 시 출처를 명시합니다.
  • 실제 비밀번호와 인증 토큰 등 민감한 정보는 GitHub에 포함하지 않습니다.

요구사항 체크리스트

  • 필수[PC 라이브 방송] PC 화면을 캡처하여 실시간으로 송출하는 기능을 구현한다.
  • 필수[PC 라이브 방송] 탭 소리 또는 시스템 소리와 마이크 음성을 함께 송출하는 기능을 구현한다.
  • 필수[PC 라이브 방송] 마이크 음성을 함께 송출하는 기능을 구현한다.
  • 필수[PC 라이브 방송] 방송 시작과 종료 시 송출 연결을 생성하고 종료하는 기능을 구현한다.
  • 필수[모바일 라이브 방송] 휴대폰 카메라 영상과 마이크 음성을 함께 실시간으로 송출하는 기능을 구현한다.
  • 필수[모바일 라이브 방송] 휴대폰 마이크 음성을 함께 송출하는 기능을 구현한다.
  • 필수[모바일 라이브 방송] 모바일에서 방송을 시작하고 종료하는 기능을 구현한다.
  • 필수[방송 관리 및 시청] 방송 제목 등 방송 정보를 등록, 조회, 수정, 삭제하는 기능을 구현한다.
  • 필수[방송 관리 및 시청] 방송 목록과 상세 화면을 제공하고, PC와 모바일에서 송출한 방송을 각각 다른 기기에서 수신하고 재생하는 기능을 구현한다.
  • 필수[방송 관리 및 시청] 방송 중과 종료 상태를 관리하고 방송 종료 시 송출을 중단하도록 처리한다.
  • 필수[방송 관리 및 시청] 방송 정보를 영구 저장하고 서버 재시작 후에도 조회할 수 있도록 구현한다.
  • 필수[사용자 인증 및 인가] 회원가입, 로그인, 로그아웃 및 인증 상태 관리를 구현한다.
  • 필수[사용자 인증 및 인가] 비로그인 사용자도 방송을 조회하고 시청할 수 있으며, 방송 등록과 송출은 로그인한 사용자만 가능하도록 처리한다.
  • 필수[사용자 인증 및 인가] 방송 수정, 삭제 및 송출 제어 시 서버에서 방송 소유자 권한을 검증한다.
  • 선택[댓글] 로그인한 사용자가 방송별 댓글을 작성, 조회, 수정, 삭제할 수 있도록 구현한다.
  • 선택[댓글] 댓글 수정 및 삭제 시 서버에서 작성자 권한을 검증한다.
  • 선택[도네이션] 로그인한 사용자가 후원 대상과 금액을 선택하고 테스트 결제를 요청하는 기능을 구현한다.
  • 선택[도네이션] 서버에서 결제 승인 결과, 금액, 후원 대상을 검증하고 후원 내역을 저장한다.
  • 선택[도네이션] 중복 승인 통지에 따른 중복 적립을 방지하고 방송별 후원 내역과 합계를 조회하는 기능을 구현한다.
  • 선택[녹화 및 다시보기] 라이브 방송을 녹화 영상으로 저장하는 기능을 구현한다.
  • 선택[녹화 및 다시보기] 녹화 영상 목록과 상세 조회 및 재생 기능을 구현한다.
  • 선택[녹화 및 다시보기] 영상 정보와 저장 위치를 영구 저장하는 기능을 구현한다.

무료 공모전입니다 — 상금 없이 열리며, 개최자가 설명에 적은 보상은 플랫폼이 보증하지 않습니다. 수상작의 소스는 개최자가 볼 수 있습니다.