{"id":18318690,"url":"https://github.com/connect-foundation/2019-19","last_synced_at":"2025-04-05T21:33:09.310Z","repository":{"id":36150324,"uuid":"218952588","full_name":"connect-foundation/2019-19","owner":"connect-foundation","description":"안봐도 비디오","archived":false,"fork":false,"pushed_at":"2023-03-03T09:22:58.000Z","size":20631,"stargazers_count":7,"open_issues_count":56,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-03-08T02:10:03.076Z","etag":null,"topics":["cdn","elastic-search","expressjs","javascript","logstash","m3u8","mysql","ncloud","node","object-storage","reactjs","sequelizejs","styled-components","video-streaming"],"latest_commit_sha":null,"homepage":"http://abdvideo.ml","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/connect-foundation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-01T09:13:18.000Z","updated_at":"2020-12-27T17:49:54.000Z","dependencies_parsed_at":"2023-01-17T00:45:25.968Z","dependency_job_id":null,"html_url":"https://github.com/connect-foundation/2019-19","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connect-foundation%2F2019-19","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connect-foundation%2F2019-19/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connect-foundation%2F2019-19/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/connect-foundation%2F2019-19/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/connect-foundation","download_url":"https://codeload.github.com/connect-foundation/2019-19/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223221257,"owners_count":17108514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdn","elastic-search","expressjs","javascript","logstash","m3u8","mysql","ncloud","node","object-storage","reactjs","sequelizejs","styled-components","video-streaming"],"created_at":"2024-11-05T18:11:15.832Z","updated_at":"2024-11-05T18:11:16.938Z","avatar_url":"https://github.com/connect-foundation.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/wf2hHlL.png\"\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\u003ccenter\u003e\n\u003cp align=\"center\"\u003e\n        \u003ca href=\"https://github.com/connect-foundation/2019-19/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/issues/connect-foundation/2019-19\"/\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://github.com/connect-foundation/2019-19/wiki\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/documentation-yes-brightgreen\"/\u003e\n        \u003c/a\u003e\n        \u003cimg src=\"https://img.shields.io/badge/License-MIT-brightgreen\"/\u003e\n\u003c/p\u003e\n\u003c/center\u003e\n\n\n\n### 소개\n\u003e #### :tv:  Netflix clone project\n\u003e 컨텐츠 맞춤 추천을 기반으로 세상 모든 비디오를 스트리밍하는 서비스입니다.\n\u003e \n\n\n#### [:point_right: Homepage](http://www.abdvideo.ml/)\n\n#### [:memo:  Documentations](https://github.com/connect-foundation/2019-19/wiki)\n\n#### :tv: Demo Video (click :point_down:)\n\n[![[부스트캠프 2019 19조 - 안봐도 비디오] 데모 동영상](http://img.youtube.com/vi/XcDHMs2Ni4k/0.jpg)](http://www.youtube.com/watch?v=XcDHMs2Ni4k \"Demo Video\")\n\n\u003chr\u003e\n\n### 개발기간\n- 2019.11.4 ~ 2019.12.19\n\n### 팀원\n\n| [김민성](https://github.com/minsung1129)     | [김한비](https://github.com/KKambi)   | [신정수](https://github.com/jngsoo)    |[윤경호](https://github.com/zoomspeed)|\n| -------- | -------- | -------- |----|\n\n### 개발환경\n- Node (12.13.0) + Express (4.16.1)\n- React (16.11.0) + Webpack (4.41.2)\n- npm (6.13.0)\n- Elastic Search + Logstash + MySQL\n- nCloud\n    - Server\n        - App Server \n        - DB Server \n        - Segmenter Server\n    - Object Storage (Logstash JSON)\n    - Object Storage (Thumbnails videos \u0026 Streaming Data)\n    - CDN+\n    - VOD Transcoder\n\n\n\n\n### 설치\n1. 각 서버에 필요한 패키지 설치\n```bash\n#/api-server\nnpm install\n#/client-server\nnpm install\n```\n\n2. 리액트 빌드\n```bash\n#client-server\nnpm run build\n```\n\n3. 환경변수 및 인프라 관련 설정\n- `/api-server/.env`\n- `/segmenter-server/.env`\n- `/api-server/config/config.json`\n\n### 기능\n#### client-server\n- 메인 영상 썸네일\n- 영상별로 좋아요 \u0026 찜하기\n- 회원별로 추천기능\n- 영상 검색 기능\n- 장르별 영상 카로셀\n- 비디오 플레이어\n- 무한 스크롤\n\n#### api-server\n- 컨텐츠 정보에 대한 API 응답\n- 구글 로그인\n\n#### elastic-server\n- elastic search 검색엔진을 사용, DSL쿼리 적용\n- logstash로 로그수집 및 분석가능 \n- shell script, crontab schedule으로 벌크로 가져온 데이터 1분마다 sync\n- API 호출로 해당 요청에 대한 JSON 형식의 응답 \n\n#### segmenter-server\n- 원본 영상 업로드\n- nCloud VOD Transcoder를 통한 트랜스코딩(360p, 480p, 720p)\n- 트랜스코딩된 영상을 다운로드받아, 스트리밍 데이터로 분할(m3u8 + ts)\n- 영상 정보 및 스트리밍 데이터 url(CDN+) DB에 저장\n- 스트리밍 데이터 업로드\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnect-foundation%2F2019-19","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconnect-foundation%2F2019-19","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconnect-foundation%2F2019-19/lists"}