ํ ํด์ ๋น์ ์ ํฝ์ ์ ํํ๊ณ ๊ณต์ ํ๋ ํ๋ซํผ
YOTY๋ ์ฌ์ฉ์๊ฐ ํ ํด๋ฅผ ๋์๋ณด๋ฉฐ ๊ฐ์ฅ ์ธ์ ๊น์๋ ์์ , ์ํ, ๋๋ผ๋ง, ์ฑ ์ ์ ํํ๊ณ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๊ณต์ ํ ์ ์๋ ์น ํ๋ซํผ์ ๋๋ค.
- ํตํฉ ๊ฒ์: Spotify, TMDB, Google Books API๋ฅผ ํตํ ํตํฉ ์ฝํ ์ธ ๊ฒ์
- ํฝ ์ ํ ๋ฐ ์ ์ฅ: ๊ฐ ์นดํ ๊ณ ๋ฆฌ๋ณ ๋ฒ ์คํธ ํฝ ์ ํ ๋ฐ ๋ก์ปฌ ์คํ ๋ฆฌ์ง ์ ์ฅ
- ๊ฐ์ธ ํ๋กํ: ์ ํํ ํฝ์ ๋ณด์ฌ์ฃผ๋ ๊ฐ์ธ ํ๋กํ ํ์ด์ง
- ๋ฐ์ํ ๋์์ธ: ๋ชจ๋ฐ์ผ๋ถํฐ ๋ฐ์คํฌํฑ๊น์ง ์๋ฒฝํ ๋ฐ์ํ UI
- ์ค์๊ฐ ๊ฒ์: API ์ฐ๋ ๋ฐ Mock ๋ฐ์ดํฐ fallback
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS
- API Integration: Axios
- External APIs:
- Spotify Web API
- The Movie Database (TMDB) API
- Google Books API
git clone <repository-url>
cd yoty
npm install
.env.local
ํ์ผ์ ์์ฑํ๊ณ API ํค๋ฅผ ์ค์ ํ์ธ์:
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
TMDB_API_KEY=your_tmdb_api_key
GOOGLE_BOOKS_API_KEY=your_google_books_api_key
์ฐธ๊ณ : API ํค๊ฐ ์์ด๋ Mock ๋ฐ์ดํฐ๋ก ํ ์คํธ ๊ฐ๋ฅํฉ๋๋ค.
npm run dev
http://localhost:3000์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ธํ ์ ์์ต๋๋ค.
src/
โโโ app/ # Next.js App Router
โ โโโ page.tsx # ๋ฉ์ธ ํ์ด์ง
โ โโโ pick/ # ํฝ ์ ํ ํ์ด์ง
โ โโโ profile/ # ํ๋กํ ํ์ด์ง
โ โโโ api/ # API ๋ผ์ฐํธ
โโโ components/ # React ์ปดํฌ๋ํธ
โ โโโ MainPageClient.tsx # ๋ฉ์ธ ํ์ด์ง ํด๋ผ์ด์ธํธ
โ โโโ PickSelector.tsx # ํฝ ์ ํ ์ปดํฌ๋ํธ
โ โโโ SearchTest.tsx # API ํ
์คํธ ์ปดํฌ๋ํธ
โโโ services/ # ์ธ๋ถ API ์๋น์ค
โ โโโ spotify.ts # Spotify API
โ โโโ tmdb.ts # TMDB API
โ โโโ googleBooks.ts # Google Books API
โ โโโ storage.ts # ๋ก์ปฌ ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ
โ โโโ mockData.ts # Mock ๋ฐ์ดํฐ
โโโ hooks/ # React Hooks
โ โโโ useAPI.ts # API ํ
โโโ types/ # TypeScript ํ์
์ ์
โโโ api.ts
- ๋ฉ์ธ ํ์ด์ง (
/
): ํ๋ซํผ ์๊ฐ ๋ฐ ํฝ ํํฉ ํ์ธ - ํฝ ์ ํ (
/pick
): ์นดํ ๊ณ ๋ฆฌ๋ณ ์ํ ๊ฒ์ ๋ฐ ์ ํ - ํ๋กํ (
/profile
): ์ ํํ ํฝ ์กฐํ ๋ฐ ๊ด๋ฆฌ
- Spotify Developer Dashboard์์ ์ฑ ์์ฑ
- Client ID์ Client Secret ํ๋
.env.local
์ ์ถ๊ฐ
- TMDB์์ API ํค ์ ์ฒญ
- API ํค๋ฅผ
.env.local
์ ์ถ๊ฐ
- Google Cloud Console์์ Books API ํ์ฑํ
- API ํค ์์ฑ ํ
.env.local
์ ์ถ๊ฐ
- ์ฌ์ฉ์ ์ธ์ฆ ์์คํ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋
- ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ (๋ค๋ฅธ ์ฌ์ฉ์ ํฝ ๋๋ฌ๋ณด๊ธฐ)
- ์์ ๋ฏธ๋์ด ๊ณต์ ๊ธฐ๋ฅ
- ํฝ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ
- ์ฐ๊ฐ ํธ๋ ๋ ๋ถ์
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค ํ์ ์์ต๋๋ค.
- Fork ํ๋ก์ ํธ
- Feature ๋ธ๋์น ์์ฑ (
git checkout -b feature/AmazingFeature
) - ๋ณ๊ฒฝ์ฌํญ ์ปค๋ฐ (
git commit -m 'Add some AmazingFeature'
) - ๋ธ๋์น์ Push (
git push origin feature/AmazingFeature
) - Pull Request ์ด๊ธฐ
YOTY - 2025๋ ์ ํน๋ณํ๊ฒ ๋ง๋๋ ๋น์ ๋ง์ ํฝ์ ์ ํํด๋ณด์ธ์! ๐ญโจ
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.