Coder Social home page Coder Social logo

youtube-api-project's Introduction

[๐Ÿฆย FESP 1๊ธฐ] FESP 8 - YouTubeAPIย 

๐Ÿ“ฒ ๋ฐฐํฌ์ฃผ์†Œ

์ฃผ์†Œ : YouTube API



๐Ÿ“„ ๋ชฉ์ฐจ

1. ์„œ๋น„์Šค ์†Œ๊ฐœ
2. ํ”„๋กœ์ ํŠธ ์ผ์ •
3. ํŒ€ ๊ตฌ์„ฑ
4. ๊ณตํ†ต ๊ตฌํ˜„ ๊ณผ์ œ
5. ํ•„์ˆ˜ ๊ตฌํ˜„ ๊ณผ์ œ
6. ์—ญํ•  ๋ถ„๋‹ด
7. ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ
8. ํŒ€ ๋‚ด ๊ทœ์น™ ๋ฐ ์ค€์ˆ˜ ์‚ฌํ•ญ
9. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ฐ ๊ธฐ์ˆ  ์Šคํƒ
10. ๊ฒฐ๊ณผ๋ฌผ
11. ์‹œ์—ฐ ์˜์ƒ
12. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐ
13. ํ”„๋กœ์ ํŠธ ์‚ฌ์šฉ๋ฒ•



๐Ÿถ 1. ์†Œ๊ฐœ

โšก 2. ํ”„๋กœ์ ํŠธ ์ผ์ •

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ : 2023๋…„ 11์›” 20์ผ ~ 2023๋…„ 12์›” 1์ผ

  • 1๋‹จ๊ณ„ : 11์›” 20์ผ(์›”) ์˜ค์ „ 9์‹œ ~ 22์ผ(์ˆ˜) ์˜คํ›„ 6์‹œ
  • 2๋‹จ๊ณ„ : 11์›” 23์ผ(๋ชฉ) ์˜ค์ „ 9์‹œ - 26์ผ(์ผ) ์˜คํ›„ 6์‹œ
  • 3๋‹จ๊ณ„ : 11์›” 27์ผ(์›”) ์˜ค์ „ 9์‹œ - 12์›” 1์ผ(๊ธˆ) ์˜คํ›„ 5์‹œ

๐Ÿพ 3. ํŒ€ ๊ตฌ์„ฑ

์•ˆํƒœ์šฑ ์˜ค๋‚˜์˜ ์ด๊ทœ์ •
์ด๋ฏธ์ง€ ์ด๋ฏธ์ง€ ์ด๋ฏธ์ง€


4. ๊ณตํ†ต ๊ตฌํ˜„ ๊ณผ์ œ

1์ฃผ์ฐจ

  • ์—ฌ๋Ÿฌ ํŒ€์›์ด ์ผํ•œ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ๋™์ผํ•œ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ž‘์„ฑ ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.
    • lint, prettier ์„ค์ •
    • import ํŒŒ์ผ ๊ฒฝ๋กœ๋Š” ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.
    • config ์„ค์ •
    • ์ œ๊ณต๋˜๋Š” ๋น„๋””์˜ค ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.
  • ์˜์ƒ ๋ชฉ๋ก ํŽ˜์ด์ง€
    • popular.json ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.
  • ์˜์ƒ ์ƒ์„ธ ํŽ˜์ด์ง€
    • ์ฑ„๋„์˜ ๊ด€๋ จ ์˜์ƒ๋“ค์€ searchByChannels ํด๋”์˜ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.
  • ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์œ ํŠœ๋ธŒ api ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
  • ์•„๋ž˜ ์˜ˆ์‹œ ํ™”๋ฉด์„ ์ฐธ๊ณ ํ•ด์„œ ํ™”๋ฉด์„ ์ œ์ž‘ํ•ด์ฃผ์„ธ์š”.
    • ๊ผญ ๋™์ผํ•˜๊ฒŒ ์ œ์ž‘ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.
    • ๋ชจ๋“  ๋””์ž์ธ์€ ์ž์œ ๋กญ๊ฒŒ ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์Šคํƒ€์ผ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ž์œ ๋กญ๊ฒŒ ์„ ํƒํ•ด์ฃผ์„ธ์š”.

2์ฃผ์ฐจ

  • ๋‹คํฌ ๋ชจ๋“œ๋ฅผ ์ ์šฉํ•ด์ฃผ์„ธ์š”.
  • ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ๋„ฃ์–ด์ฃผ์„ธ์š”.(ex. ๋„ฅํ”Œ๋ฆญ์Šค, ์™“์ฐจ ๋“ฑ๋“ฑ)
  • ๋Œ“๊ธ€ API๋Š” supabase๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

3์ฃผ์ฐจ

  • ์šด์˜์„œ๋ฒ„(YOUTUBVE)์ธ์ง€ ๋˜๋Š” ๊ฐœ๋ฐœ์„œ๋ฒ„(json ๋ฐ์ดํ„ฐ)์— ๋”ฐ๋ผ์„œ ์‹ค์ œ youtube API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”. (ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ IS_DEV , IS_YOUTUBE_API)
  • supabase ๋˜ํ•œ ๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ์„ธ์š”. DEV DB์™€ PROD DB๋ฅผ ๋‚˜๋ˆ„์–ด์ฃผ์„ธ์š”.
  • ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ์„ธ์š”.

5. ํ•„์ˆ˜ ๊ตฌํ˜„ ๊ธฐ๋Šฅ

1์ฃผ์ฐจ

  • ์‚ฌ์šฉ์ž๋Š” ๋น„๋””์˜ค ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋Š” ์˜์ƒ์„ ํด๋ฆญํ•˜๋ฉด, ํ•ด๋‹น ์˜์ƒ์˜ ์ƒ์„ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋Š” ๋น„๋””์˜ค ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋Š” ๊ด€๋ จ ๋น„๋””์˜ค ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋Š” mobile, tablet, pc ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

2์ฃผ์ฐจ

  • ์˜ํ™” ๋ชฉ๋ก ํŽ˜์ด์ง€
  • ์‚ฌ์šฉ์ž๋Š” ์›ํ•˜๋Š” ์˜ํ™”๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์–ด์š”.
    • popular.json์˜ title ๊ธฐ์ค€์œผ๋กœ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ๋’ค๋กœ๊ฐ€๊ธฐ ์‹œ, ์˜ํ™” ๊ฒ€์ƒ‰ ๋‚ด์šฉ์ด ์ดˆ๊ธฐํ™”๊ฐ€ ๋˜๋ฉด ์•ˆ๋ผ์š”.
  • ์˜ํ™” ์ƒ์„ธ ํŽ˜์ด์ง€
  • ์‚ฌ์šฉ์ž๋Š” ๊ด€๋ จ ์˜์ƒ ๋ชฉ๋ก์ด ๋งŽ์•„ ์Šคํฌ๋กคํ•˜๊ธฐ ๋ถˆํŽธํ•ด์š”.
    • ๊ด€๋ จ ์˜์ƒ ๋ชฉ๋ก์„ ํŽธํ•˜๊ฒŒ ๋ณผ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ์„ ํ•ด์ฃผ์„ธ์š”.

3์ฃผ์ฐจ

  • ์‚ฌ์šฉ์ž์—๊ฒŒ UX๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋กœ๋”ฉ ํ™”๋ฉด/์—๋Ÿฌ ํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ์„ธ์š”.
    ๋ฐฐ๋ฏผ์„œ๋น„์Šค ์ฐธ๊ณ 
  • ์‚ฌ์šฉ์ž๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ๋ณด๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ์Šคํฌ๋กค์„ ํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด์—์„œ๋งŒ ์ด๋ฏธ์ง€๊ฐ€ ๋กœ๋“œ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์Šคํฌ๋กค ๋งˆ๋‹ค ๋ณด์—ฌ์ง€๋Š” ์ƒˆ ์˜์—ญ์—์„œ๋งŒ ์ด๋ฏธ์ง€๊ฐ€ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป 6. ์—ญํ•  ๋ถ„๋‹ด

์ด๋ฆ„ ๋‹ด๋‹น ๊ธฐ๋Šฅ
์•ˆํƒœ์šฑ ๋ฉ”์ธํŽ˜์ด์ง€, ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€
์˜ค๋‚˜์˜ ์ƒ์„ธํŽ˜์ด์ง€, ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€
์ด๊ทœ์ • ๋ฉ”์ธํŽ˜์ด์ง€ ๋ฐฐ๋„ˆ


๐Ÿ… 7. ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

๊ฒฐ๊ณผ๋ณด๋‹จ ๊ณผ์ •!

  • ์™„๋ฒฝํ•œ ๊ฒฐ๊ณผ๋ณด๋‹จ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋งŽ์€ ์ง€์‹๊ณผ ๊ฒฝํ—˜์„ ์–ป์–ด๊ฐ€๋Š” ๊ฒƒ์— ์ดˆ์ ์„ ๋‘๊ธฐ

ํ•„์ˆ˜ ๊ตฌํ˜„๊ณผ์ œ ๊ธฐ๋Šฅ ์œ„์ฃผ

  • ํ•„์ˆ˜ ๊ตฌํ˜„๊ณผ์ œ๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ํ•˜๋ฉด์„œ ์ฒœ์ฒœํžˆ ๊นจ๋‹ฌ์Œ์„ ์–ป๋Š”๋‹ค.

๋ณธ ํ”„๋กœ์ ํŠธ ์ „ ์›Œ๋ฐ์—…

  • ๋ณธ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ „ ์˜ˆ๋น„ํ”„๋กœ์ ํŠธ๋กœ ๋งŽ์€๊ฒƒ์„ ์‹คํ—˜ํ•ด๋ณด๊ณ  ์—ฐ๊ตฌํ•˜๋ฉฐ ์ง€์‹์„ ์Œ“์•„๊ฐ„๋‹ค.

๐Ÿ™‡๐Ÿป 8. ํŒ€ ๋‚ด ๊ทœ์น™ ๋ฐ ์ค€์ˆ˜ ์‚ฌํ•ญ



๐ŸŽƒ 9. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ฐ ๊ธฐ์ˆ  ์Šคํƒ

ํ™˜๊ฒฝ

git github figma

์–ธ์–ด

html5 css typescript react

๋„๊ตฌ

reactrouter recoilsupabase

์†Œํ†ต

Notion



๐Ÿ˜ป 10. ๊ฒฐ๊ณผ๋ฌผ

Dark Mode


  • Recoil์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒํƒœ๊ด€๋ฆฌ
  • Dark Mode ์‚ฌ์šฉ์œผ๋กœ ์ธํ•œ ์ƒ‰์ƒ๋Œ€๋น„ ๊ตฌํ˜„


๋ฉ”์ธ ํŽ˜์ด์ง€


  • ํ˜ธ๋ฒ„ ์‹œ ์˜์ƒ ์žฌ์ƒ : ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ตฌํ˜„
  • ์Šฌ๋ผ์ด๋“œ : ๋ฉ”์ธํŽ˜์ด์ง€ ๋ฐฐ๋„ˆ ์Šฌ๋ผ์ด๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ด๋ฏธ์ง€ ๋ ˆ์ด์ง€ ๋กœ๋”ฉ ๊ตฌํ˜„
  • ๋ฌดํ•œ ์Šคํฌ๋กค : ๋ฌดํ•œ ์Šคํฌ๋กค ๊ธฐ๋Šฅ ๊ตฌํ˜„


- Detail ํŽ˜์ด์ง€


  • ๋Œ“๊ธ€: SupaBase ์—ฐ๋™
  • ๊ด€๋ จ ์˜์ƒ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ : ๊ด€๋ จ ์˜์ƒ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

๊ฒ€์ƒ‰ ํŽ˜์ด์ง€


  • ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • ๋ฌดํ•œ ์Šคํฌ๋กค ๊ตฌํ˜„

  • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์—†์„์‹œ ์•ˆ๋‚ด ํŽ˜์ด์ง€ ๊ตฌํ˜„



404 ํŽ˜์ด์ง€ ๋ฐ ๊ฒ€์ƒ‰์–ด ์—†์„์‹œ ๋…ธ์ถœ ๋˜๋Š” ํŽ˜์ด์ง€




๐ŸŽถ 11. ์‹œ์—ฐ ์˜์ƒ

Video Label



๐ŸŽฅ 12. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐ

์•ˆํƒœ์šฑ 8์กฐ ํ™”์ดํŒ…! 1
์˜ค๋‚˜์˜ 8์กฐ ํ™”์ดํŒ…! 2
์ด๊ทœ์ • 8์กฐ ํ™”์ดํŒ…! 3

๐Ÿฆพ 13. ํ”„๋กœ์ ํŠธ ์‚ฌ์šฉ๋ฒ•

  • ํŒจํ‚ค์ง€ ์„ค์น˜
npm i ๋˜๋Š” npm install
  • ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰
npm run start
  • ์šด์˜ ์„œ๋ฒ„ ์‹คํ–‰
npm run prod

youtube-api-project's People

Contributors

ony540 avatar dotory0829 avatar lkj970524 avatar wjdxor133 avatar

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.