/2022-1-OSSProj-JOJO-2

Primary LanguageCSSGNU General Public License v3.0GPL-3.0

youtube link 입력만으로 GIF를 만들어주는 사이트

사용한 오픈소스 및 툴

시스템 구조

 

web server는 NGINX를 사용하였습니다.
websocket 통신은 위해 Daphne를 사용하였습니다.
Youtube 다운을 비동기로 하기 위해 celery를 사용하였습니다.
celery의 메세지 브로커로는 Rabbitmq를 사용하였습니다.

 

동작방식

  1. user가 url로 들어와서 HTTP Get 요청을 한다.
  2. user가 입력한 값이 적절한지 확인하고 적절하면 websocket으로 내용을 보내고 아니라면 alert 창을 보낸다.
  3. ws:// 으로 들어오면 Nginx가 Daphne로 연결하여 Django websocket과 연결 될 수 있게 해줍니다.
  4. Django는 입력값을 바탕으로 celery로 Youtube 다운로드를 비동기로 처리합니다.
  5. user는 일정 시간마다 websocket으로 다운로드 되고 있는 상태를 요청하고 Django는 진행 상태를 user에게 알려줍니다.
  6. 다운로드가 완료되면 gif file을 return 합니다.

입력값은 1초 이상 6초 미만입니다.
이 범위를 넘어갈 경우 안내 문구가 등장합니다.

 

동작화면

 

1. 화면

 

2. 입력값 초과

 

3. 다운로드 및 완료

자바 스크립트 console로 상태 확인 가능

 

Team

 

 

 

License