Grow5 ํ”„๋กœ์ ํŠธ

changi123ยท2025๋…„ 6์›” 14์ผ

ํ”„๋กœ์ ํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
3/4
post-thumbnail

๐Ÿ“š 5๋ถ„ ํˆฌ์žํ˜• ์ง€์‹ ํ”ผ๋“œ - Grow5

1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

Grow5๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€์‹ฌ ์žˆ๋Š” ์ฃผ์ œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ด€๋ จ๋œ ์œ ํŠœ๋ธŒ ์˜์ƒ, ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ, ๋„ค์ด๋ฒ„ ๋‰ด์Šค๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ์›น์•ฑ
์งง์€ ์‹œ๊ฐ„ ์•ˆ์— ํญ๋„“์€ ์ •๋ณด๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ์Šต๋“ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„

  • ๐Ÿ–ฅ ๋ฐฐํฌ ์ฃผ์†Œ: https://grow5-62185.web.app/
  • ๐Ÿ“ ์ฃผ์š” ๊ธฐ๋Šฅ: ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ, ์œ ํŠœ๋ธŒ/๋ธ”๋กœ๊ทธ/๋‰ด์Šค ์ถ”์ฒœ, ๋žœ๋ค ์ถ”์ฒœ ๊ธฐ๋Šฅ
  • ๐Ÿ›  GitHub: https://github.com/changi123/grow5

2. ํ”„๋กœ์ ํŠธ ์Šคํƒ

  • Frontend: React (Vite ๊ธฐ๋ฐ˜)
  • Backend (ํ”„๋ก์‹œ ์„œ๋ฒ„): Firebase Functions (Node.js, Axios)
  • API ์—ฐ๋™
    • YouTube Data API v3
    • Naver Search API (Blog / News)
  • Styling: ๊ธฐ๋ณธ CSS, Inline Style
  • ๊ธฐํƒ€: React Router v6, Firebase Secret Manager, ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์‚ฌ์šฉ

3. ์ฃผ์š” ๊ธฐ๋Šฅ ์†Œ๊ฐœ

โœ… ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ํŽ˜์ด์ง€ (๋ฉ”์ธ)

  • ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ํ‚ค์›Œ๋“œ๋กœ ๊ด€๋ จ ์ฝ˜ํ…์ธ  ๊ฒ€์ƒ‰
  • ์ถ”์ฒœ ๊ฒฐ๊ณผ: ์œ ํŠœ๋ธŒ ์˜์ƒ, ๋ธ”๋กœ๊ทธ ๊ธ€, ๋‰ด์Šค ๊ธฐ์‚ฌ
  • ๊ฐ ๊ฒฐ๊ณผ๋Š” ์นด๋“œ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ (์ธ๋„ค์ผ, ์ œ๋ชฉ, ๊ฐ„๋žต ์š”์•ฝ ์ œ๊ณต)
  • "๋‹ค์‹œ ์ถ”์ฒœ ๋ฐ›๊ธฐ" ๊ธฐ๋Šฅ์œผ๋กœ ๋žœ๋ค ์ถ”์ฒœ ๊ฐ€๋Šฅ

๐Ÿ“ ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ

  • firebase์—์„œ ์ง€์›ํ•˜๋Š” ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ์‚ฌ์šฉ์œผ๋กœ google ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ๋Šฅ ์‚ฌ์šฉ

๐ŸŽž๏ธ ์œ ํŠœ๋ธŒ ์˜์ƒ ์ถ”์ฒœ

  • YouTube Data API ํ™œ์šฉ
  • ์ž…๋ ฅ ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰ โ†’ 50๊ฐœ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ค‘ ๋žœ๋ค 2๊ฐœ ์ถ”์ฒœ
  • ์ธ๋„ค์ผ, ์ œ๋ชฉ, ์ฑ„๋„๋ช…, ๊ฐ„๋žต ์„ค๋ช… ํ‘œ์‹œ

๐Ÿ“ ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ ์ถ”์ฒœ

  • Naver Search API (blog) ํ™œ์šฉ
  • Firebase Functions ํ”„๋ก์‹œ ์„œ๋ฒ„ ๊ฒฝ์œ  โ†’ API Key ๋ณด์•ˆ ํ™•๋ณด
  • ๋ธ”๋กœ๊ทธ ์ œ๋ชฉ, ๋ฐœํ–‰ ๋ธ”๋กœ๊ฑฐ, ์š”์•ฝ ์ œ๊ณต

๐Ÿ“ฐ ๋„ค์ด๋ฒ„ ๋‰ด์Šค ์ถ”์ฒœ

  • Naver Search API (news) ํ™œ์šฉ
  • ์—ญ์‹œ Firebase Functions ํ”„๋ก์‹œ ์„œ๋ฒ„ ๊ฒฝ์œ 
  • ๋‰ด์Šค ์ œ๋ชฉ, ์ถœ์ฒ˜, ์š”์•ฝ ์ œ๊ณต

4. ํ›„๊ธฐ

  • ๋„ค์ด๋ฒ„ API๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด firebase Function์„ ์จ์„œ ํ”„๋ก์‹œ ์„œ๋ฒ„ ๊ฒฝ์œ  ํ•ด๋ณธ ๊ฒƒ์ด ์ข€ ์žฌ๋ฐŒ์—ˆ๋‹ค.
  • ์œ ํŠœ๋ธŒ, ๋„ค์ด๋ฒ„ ๋“ฑ OPEN API KEY๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„ ํ™œ์šฉํ•ด๋ณด๋‹ˆ ํ›จ์”ฌ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ˆ˜์ค€์ด ์˜ฌ๋ผ๊ฐ„๋‹ค.
  • ๋˜ ๋‹ค๋ฅธ firebase์—์„œ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•ด๋ณด์ž ์Šคํ† ๋ฆฌ์ง€, ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋“ฑ๋“ฑ
  • ๋”์šฑ ๋‹ค์–‘ํ•œ OPEN API๋กœ ์ข‹์€ ์ฃผ์ œ๋กœ ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ ๋‹ค์–‘ํ•˜๊ฒŒ ํ•ด๋ณด์ž

5. ์ฃผ์š” UI

๋ฉ”์ธํ™”๋ฉด

๋กœ๊ทธ์ธํ™”๋ฉด & ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ

์ถ”์ฒœ ๊ด€์‹ฌ์‚ฌ ์„ค์ • & ์„ค์ •๋œ ๊ด€์‹ฌ์‚ฌ

๊ด€์‹ฌ์‚ฌ ํ˜ธ์ถœ ์œ ํŠœ๋ธŒAPI & ๊ด€์‹ฌ์‚ฌ ํ˜ธ์ถœ ๋„ค์ด๋ฒ„API

profile
๊ฐœ๋ฐœ์ž ํ™์ฐฌ๊ธฐ ๊พธ์ค€ํ•œ ์‚ฌ๋žŒ์ด ๋˜์ž

0๊ฐœ์˜ ๋Œ“๊ธ€