๐ 5๋ถ ํฌ์ํ ์ง์ ํผ๋ - Grow5
1. ํ๋ก์ ํธ ์๊ฐ
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