Giter VIP home page Giter VIP logo

youtube_playlist_generator's Introduction

Youtube_Playlist_Generator(YPG)

배포 링크

바로가기

✨설명

유튜브 플레이리스트의 타임 라인을 복사해서 넣으면 내 재생목록으로 만들어주는 프로그램입니다.
일일이 동영상을 검색하고 재생목록에 추가하는 로직을 자동화 해줍니다.

유튜브 1~2시간 짜리 플레이리스트를 보면 댓글에 다음과 같이 타임라인을 작성해 둡니다.

동영상에 들어있는 노래 중에서 몇몇 노래가 내 마음에 들지 않을 때 타임라인을 YPG에 넣어주면
내가 원하는 노래만을 내 재생목록으로 생성하여 넣어주는 프로그램입니다.


🚀사용방법

1. 로그인

플레이리스트를 만들기위한 구글(유튜브) 계정에 로그인합니다. image

2. 타임라인을 넣어줍니다.

image

3. 생성 버튼을 누르고, 원하는 곡을 고릅니다.

image

4. 플레이리스트 이름을 넣어주고 생성 버튼을 누릅니다. (default: YPG)

image

5. 플레이리스트 생성 완료


⚒️Skills

Frontend

  • title
  • title
  • title
  • title
  • title
  • title
  • title

Backend

  • title
  • title

youtube_playlist_generator's People

Contributors

dbckdgjs369 avatar

Stargazers

윤정현 avatar  avatar 박유현 avatar

Watchers

James Cloos avatar  avatar

youtube_playlist_generator's Issues

checkbox 연결

  • checkbox 전체 선택 기능
  • checkbox로 선택된 값만 넘기기

version 2로 개선

페이지

  • 로그인 페이지
  • 추가 페이지

컴포넌트

  • Textbox
  • checkbox

  • emotion으로 스타일 변경

flow 최적화하기

Flow

  1. 어떤 계정의 유튜브에 플레이리스트를 만들지 login 하기
  2. 플레이 리스트 이름 받기( defualt로 YPG로 해놓음)
  3. 만들 곡 타임스탬프 입력
  4. 원하는 곡 선택
  5. 플레이리스트 생성
  6. (만들어진 플레이 리스트 페이지로 가면 좋을 것 같음)

access_token 관리

  • access_token은 로컬 파일로만 가지고 있기
  • refresh_token은 쿠키로 가지고 있기
  • 쿠키는 http only + secure 로 설정

quota 최적화

  • 내가 계산한 할당량보다 적게 사용한 것 같은데 초과되었다.
  • 어디선가 계속 API를 호출하는 것 같다.
  • API 누수를 막자

실험 결과 내가 모르게 발생하는 API 호출은 없었다.

각 버튼마다 API 요청을 하는 중인데 로딩 모션이나 준비 중임을 알려주는 UI가 없어서 계속 누르는 경우가 생겨서 같은 동작을 여러 번 한다는 생각이 들었다.

=> api요청이 끝날 때까지 기다리게 하자.
=> Loading 창이나 완료 될 때까지 버튼 비활성화 추가

개선사항

bugs

  • 로딩에서 마치고 돌아왔을 때 창이 리렌더링 되며 textarea 값이 사라짐. (투명도를 주면 될 수도?)
  • textarea 값이 바뀔경우 전체 선택의 개수가 안바뀜
  • 가끔씩 안들어가는 노래가 있음

todos

  • 추가 완료하고 몇곡을 ~에 넣었다고 alert 띄우기
  • 원래 있는 플레이 리스트에도 넣을 수 있게 해주면 좋을 듯
  • refresh token 추가

모달 만들기

  • 모달에 들어갈 썸네일+ 노래 info 컴포넌트
  • 플레이 리스트 제목 받기

할일

개선점

  • access_token 로컬 스토리지에서 빼기 => 로컬로 가지고 있기
  • refresh 토큰 추가

버그들

  • playlist 이름 YPG로 고정되어있음
  • access

Loading 중 구현

  • Loading중임을 알려줄 수 있게 하자.
  • api 에 문제가 생겼을 때 알려줄 수 있게 하자.

generate page

  • 받은 플레이 리스트 목록 v_id찾기
  • 입력받은 플리 제목 받고, 이걸로 플리 생성
  • 플리에 v_id 넣기

로그인 페이지 구현

  • 로그인 페이지 구현
  • 로그인 페이지에서 로그인, accessToken 처리하기
  • accessToken 전역에 넣기(context api)

스타일 추가

login 페이지

  • 구글 로그인버튼 구현

추가 페이지

  • 로직에 맞게 스타일 넣기

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.