간단한 ERD와 API - boostcampwm2023/web07-GBS GitHub Wiki

인증

OAuth 로그인 - POST /api/oauth/login/github

OAuth 로그아웃 - DELETE /api/oauth/logout/github

방송 CRUD

방송 목록 조회 - GET /api/v1/streams

{
	"data": [
		[
			"userId": "kkg",
			"title": "방송 제목",
			"category": "게임",
			"viewer": 100,
			"thumbnail": "http://thumbnail-url"
		],

		// ...

	],
	"pageInfo": {
		"page": 1,
		"size": 5
	}
}

방송 상세 조회 - GET /api/v1/streams/:user-id

category: 게임, 요리, 공부, 토크, 먹방, 여행, 개발, 100명 페어프로그래밍, 기타

  • 현재 방송 중인 방송 상세 조회
{
  "userId": "kkg",
  "title": "방송 제목",
  "desc": "방송 설명",
  "category": "게임",
  "viewer": 100,
  "startedAt": "2023-11-16T08:57:18.769Z",
  "resolution": "1920x1080", // 해상도
  "quality": "3000K" // 화질
}

방송 정보 수정 - PUT or PATCH /api/v1/streams/:user-id

{
  "title": "방송 제목",
  "desc": "방송 설명",
  "category": "요리"
}

유저 CRUD

유저 정보 수정 - PUT or PATCH /api/v1/users/:user-id

{
  "nickname": "닉네임"
}

ADMIN 권한

Stream Key 목록 조회 - GET /api/v1/streams/keys

{
  "streamKeys": ["ZcasdAsD", "AWEesQe", "CXsDSaq"]
}

userId 조회 - GET /api/v1/users?stream-key={key}

{
  "userId": "kkg",
  "nickname": "김경근"
}