ν λ§ κΈ°λ° κ΅λ΄ μ¬νμ§ νλ μ΄μ μλΉμ€
νλ§, λ§μ§, μΌκ²½ λ± μνλ μ¬ν ν λ§λ₯Ό μ ννλ©΄ λ± λ§λ μ¬νμ§λ₯Ό μΆμ²ν΄λλ €μ.
| κ΅¬λΆ | κΈ°μ |
|---|---|
| Framework | Next.js 16, React 19 |
| Language | TypeScript |
| Styling | Tailwind CSS v4 |
| Backend / DB | Supabase (Auth, Database) |
| AI | Google Generative AI (Gemini) |
| Map | Kakao Maps API |
| Deploy | Vercel |
- ν λ§ μΉ΄λ(νλ§, μ‘ν°λΉν°, κ°μ± μΉ΄ν, λ§μ§, μΌκ²½ λ±)λ‘ μ¬ν μ€νμΌ μ ν
- μ§μΒ·νκ·ΈΒ·μ λ ¬ κΈ°μ€(νμ μ, 리뷰 λ§μ μ)μΌλ‘ μ¬νμ§ νν°λ§
- μ¬νμ§ μμΈ νμ΄μ§μμ μΉ΄μΉ΄μ€λ§΅ μμΉ νμΈ λ° λ¦¬λ·° μ‘°ν
- λ§μμ λλ μ¬νμ§λ₯Ό μ¦κ²¨μ°ΎκΈ°μ μΆκ°/μ κ±°
- λ§μ΄νμ΄μ§μμ λ΄ μμ리μ€νΈ νλμ νμΈ
- λλ§μ νλ μμ±Β·μμ Β·μμ
- νλμ μ¬νμ§ μΆκ°/μ κ±°
- μ νν μ₯μλ€μ μΉ΄μΉ΄μ€λ§΅μΌλ‘ ν λ²μ νμΈ
- μ¬μ΄λλ° νλ‘ν λ²νΌμΌλ‘ μΈμ λ AIμκ² μ§λ¬Έ
- μ¬νμ§Β·μμΒ·κΏν λ± μμ λ‘κ² μΆμ² μμ²
- μ¬νμ§ μμΈμμ μ₯μμ λ§λ λ§μΆ€ μ§λ¬Έ μλ μ μ
- μ΄λ©μΌ/λΉλ°λ²νΈ νμκ°μ λ° λ‘κ·ΈμΈ
- λλ€μ λ³κ²½
- λΉλ°λ²νΈ μ¬μ€μ λ©μΌ λ°μ‘
- νμ νν΄
src/
βββ app/
β βββ (auth)/ # λ‘κ·ΈμΈΒ·νμκ°μ
νμ΄μ§
β βββ auth/ # Supabase μ½λ°±, νμνν΄ API
β βββ api/ # API
β βββ main/
β βββ page.tsx # ν (ν
λ§ μ ν)
β βββ subpage/ # μ¬νμ§ λͺ©λ‘Β·νν°
β βββ detail/ # μ¬νμ§ μμΈ + μΉ΄μΉ΄μ€λ§΅
β βββ favorites/ # μμ리μ€νΈ
β βββ planner/ # μ¬ν νλλ
β βββ mypage/ # λ§μ΄νμ΄μ§
βββ components/
β βββ auth/ # MainAuthGate, λ‘κ·ΈμΈ/νμκ°μ
νΌ
β βββ layout/ # Sidebar, Header
β βββ ai/ # AI μ±ν
λͺ¨λ¬
β βββ home/ # ν
λ§ μΉ΄λ 그리λ
β βββ subpage/ # μ¬νμ§ λͺ©λ‘ μ»΄ν¬λνΈ
β βββ detail_review/ # 리뷰 μ»΄ν¬λνΈ
βββ lib/
βββ supabase/ # Supabase ν΄λΌμ΄μΈνΈ (server/client λΆλ¦¬)
βββ api/ # API λΌμ°νΈ
νλ‘μ νΈ λ£¨νΈμ .env.local νμΌμ μμ±νκ³ μλ κ°μ μ±μμ£ΌμΈμ.
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
NEXT_PUBLIC_KAKAO_MAP_API_KEY=your_kakao_map_api_key
GEMINI_API_KEY=your_gemini_api_key# ν¨ν€μ§ μ€μΉ
npm install
# κ°λ° μλ² μ€ν
npm run devhttp://localhost:3000 μμ νμΈν μ μμ΄μ.
# λΉλ
npm run build| μ΄λ¦ | μν |
|---|---|
| μ μ°μ | μλΈ νμ΄μ§ (νκ·Έ κ²μ κ²°κ³Ό, μμΈ νμ΄μ§ μ΄λ) / λ§μ΄νμ΄μ§ (λ΄κ° μμ±ν 리뷰) / λ°μ΄ν°λ² μ΄μ€ μ€κ³ (ERD) |
| κΉλ½ν | μ¬ν νλλ (DB μ°λ, νμλ³) / μμΈ νμ΄μ§ (μ₯μ μ΄λ―Έμ§ λ° μ€λͺ (Naver, Unsplash API)) |
| κΉνμΉ | AI μΆμ² (Gemini API) / μμΈ νμ΄μ§ (μ§λ, 리뷰 μμ±Β·μμ ) (Kakao Map API) |
| μ‘λ―Όν | λ©μΈ νμ΄μ§ (νκ·Έ μ ν, κ²μ, μ¦κ²¨μ°ΎκΈ°) / λ©μΈνμ΄μ§ μλΈνμ΄μ§ μ°λ / μ λ°μ μΈ UIꡬν |
| μ λ―Όν | νμκ°μ , λ‘κ·ΈμΈ, λ‘κ·Έμμ (Supabase, Google, Kakao) / λ§μ΄νμ΄μ§ UI λ° κΈ°λ₯ ꡬν / Vercel λ°°ν¬ |
