ํ๋ก๊น ๊ธฐ๋ฐ ์ง์ญ ํ๋ฐฉ ๋ฐ ํ๊ฒฝ ๋ณดํธ ์๋น์ค
2025.05.22 ~ 2025.06.25
![]() ํ์นํ ๐ธ ํ์ฅ LLM & Prompt |
![]() ๊น์ฑ์ฑ ๐ธ ํ์ Backend |
![]() ๊น์นํ ๐ธ ํ์ Frontend |
- IT์ ํ๊ฒฝ์ด๋ผ๋ ๋ ํค์๋๋ฅผ ์ค์ ํ๋์ผ๋ก ์ฐ๊ฒฐํ๊ธฐ ์ํ ์ฌํ์ ์คํ์ ๋ชฉํ๋ก ๊ตฌ์ฑ
- ํ๋กฌํํธ ๊ธฐ๋ฐ AI ์๋น์ค ๊ธฐํ ๋ฐ ๊ตฌํ ๊ฒฝํ ๋ณด์
- ๊ธฐ์ ๋ฟ ์๋๋ผ ์ฌ์ฉ์ ํ๋์ ์ ๋ํ๋ ํ๋กฌํํธ ์ค๊ณ์ ๋์ ๊ด์ฌ์ ๊ฐ์ง ๊ตฌ์ฑ์ ์ค์ฌ
๐ฏ ๋ชฉํ | ๐ ์ฑ์ฅ | ๐ ๋์ |
---|---|---|
AI ๊ธฐ๋ฐ ์ค์ฒํ ์๋น์ค๋ก ํ๊ฒฝ, ๊ฑด๊ฐ ๋ฑ ์ฌํ ์ด์ ํด๊ฒฐ์ ์งํฅ |
์ฐฝ์์ ์ธ ์์ด๋์ด๋ฅผ ํ์คํํ๋ฉฐ ํ์ํฌ์ ๊ธฐ์ ์ญ๋์ ๊ฐํํ๊ณ ์ ํจ |
์์ฑํ AI ์๋์ UX/์ธํฐ๋์ ์ค๊ณ๋ฅผ ์ง์ ๊ฒฝํํ๊ณ ๋์ ํ๊ธฐ ์ํจ |
๐บ๏ธ ์ฅ์ ์ถ์ฒ | ๐ฃ๏ธ ๋ฃจํธ ์๋ด | ๐ธ ์ธ์ฆ ๋ฐ ๋ฆฌ์๋ฉ |
---|---|---|
์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ ํ๋ก๊น ์ ์ ํฉํ ์ฅ์๋ฅผ ์ถ์ฒ |
์ ํํ ์ฅ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง์ถคํ ๋ฃจํธ ๋ฐ ์ฝ์ค ์ ๊ณต |
ํ๋ก๊น
์ข
๋ฃ ํ ์ฌ์ง ์ธ์ฆ ๋ฐ ๋ณด์ ์์คํ ์ ํตํด ์ฐธ์ฌ ๋๊ธฐ ๋ถ์ฌ |
graph LR
A[๐ ํ๊ฒฝ ๋ณดํธ] --> D[๐ฑ ์ง์ ๊ฐ๋ฅํ<br/>๋ผ์ดํ์คํ์ผ]
B[๐ช ํฌ์ค์ผ์ด] --> D
C[๐ ์ฌํ ์ฝํ
์ธ ] --> E[โจ ์ค์ฒ์ ๊ฐ์น๊ฐ<br/>๋ํด์ง ์๋ก์ด<br/>์ฌํ ํํ]
D --> F[๐โโ๏ธ ํ๋ก๊น
์๋น์ค]
E --> F
- ํ๊ฒฝ ๋ณดํธ์ ํฌ์ค์ผ์ด๋ฅผ ๋์์ ๋ฌ์ฑํ ์ ์๋ ์ง์ ๊ฐ๋ฅํ ๋ผ์ดํ์คํ์ผ ์ ์
- ํ๊ฒฝ์ ๋ํ ๊ด์ฌ ์ฆ๊ฐ์ ๋ฐ๋ผ ํ๋ก๊น ์ฐธ์ฌ์ ์์ ํ๋
- ๊ธฐ์กด ๊ด๊ด ์ฝํ ์ธ ์ ์ค์ฒ์ ๊ฐ์น๋ฅผ ๋ํ ์๋ก์ด ์ฌํ ํํ ์ ์
๐โโ๏ธ ๊ฑท๊ธฐ๋ ๋ฌ๋์ ์ฆ๊ธฐ๋ฉฐ
๐ ๊ฑด๊ฐ๊ณผ ์ผ์ ๋ชจ๋๋ฅผ ์ฑ๊ธฐ๊ณ ์ถ์
๐ ๋ชจ๋ ์ฌ๋๋ค
๐ ์ด๋ฏธ์ง๋ฅผ ํด๋ฆญํ๋ฉด YouTube ์์์ผ๋ก ์ด๋ํฉ๋๋ค.
- Frontend: Next.js + TypeScript + Tailwind CSS
- Backend: FastAPI + Python
- ์ง๋ ์๋น์ค: T๋งต, ๋ค์ด๋ฒ ์ง๋ API
- AI ์๋น์ค: LaaS API(GPT-4o)๋ฅผ ํตํ ๊ด๊ด์ง ์ถ์ฒ
# ์์กด์ฑ ์ค์น
npm install
# ํ๊ฒฝ๋ณ์ ์ค์
cp .env.example .env.local
# .env.local ํ์ผ์์ ํ์ํ ๊ฐ๋ค์ ์ค์
.env.local
ํ์ผ์ ๋ค์ ํ๊ฒฝ๋ณ์๋ค์ ์ค์ ํ์ธ์:
# T๋งต API ํค (ํ์)
NEXT_PUBLIC_TMAP_KEY=your_tmap_api_key_here
# ๋ค์ด๋ฒ ์ง๋ API ํค (ํ์)
NEXT_PUBLIC_NAVER_MAP_KEY=your_naver_map_key_here
# ๊ฐ๋ฐ ์๋ฒ ์คํ
npm run dev
cd backend
# ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# ์์กด์ฑ ์ค์น
pip install -r requirements.txt
# ํ๊ฒฝ๋ณ์ ์ค์
cp .env.example .env
# .env ํ์ผ์์ ํ์ํ ๊ฐ๋ค์ ์ค์
backend/.env
ํ์ผ์ ๋ค์ ํ๊ฒฝ๋ณ์๋ค์ ์ค์ ํ์ธ์:
# LaaS API ์ค์ (ํ์)
LAAS_API_KEY=your_laas_api_key_here
PROJECT_CODE=your_project_code_here
LAAS_URL=https://api-laas.wanted.co.kr/api/preset/v2/chat/completions
# T๋งต API ํค (ํ์)
TMAP_API_KEY=your_tmap_api_key_here
# ํ๊ตญ๊ด๊ด๊ณต์ฌ API ํค (ํ์)
Tour_API_KEY=your_tour_api_key_here
# LaaS ์ปฌ๋ ์
ํด์ ๊ฐ๋ค (ํ์)
HASH_LOCATION=your_location_hash_here
HASH_PLACE=your_place_hash_here
HASH_ROUTE=your_route_hash_here
HASH_IMAGE=your_image_hash_here
HASH_TRASHBAG=your_trashbag_hash_here
HASH_RAG=your_rag_hash_here
# ๋ฐฑ์๋ ์๋ฒ ์คํ
python main.py
- SK Open API ํ์๊ฐ์
- T๋งต API ์๋น์ค ์ ์ฒญ
- ๋ฐ๊ธ๋ฐ์ API ํค๋ฅผ ํ๊ฒฝ๋ณ์์ ์ค์
- ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ ํ๋ซํผ ํ์๊ฐ์
- AIยทApplication Service > Maps ์๋น์ค ์ด์ฉ ์ ์ฒญ
- ๋ฐ๊ธ๋ฐ์ Client ID๋ฅผ ํ๊ฒฝ๋ณ์์ ์ค์
- ํ๊ตญ๊ด๊ด๊ณต์ฌ Tour API ํ์๊ฐ์
- ๊ด๊ด์ ๋ณด ์๋น์ค API ํค ์ ์ฒญ
- ๋ฐ๊ธ๋ฐ์ API ํค๋ฅผ ํ๊ฒฝ๋ณ์์ ์ค์
- LaaS ์๋น์ค ๊ฐ์ ๋ฐ ํ๋ก์ ํธ ์์ฑ
- API ํค ๋ฐ ํ๋ก์ ํธ ์ฝ๋ ๋ฐ๊ธ
- ๊ฐ ์ปฌ๋ ์ ๋ณ ํด์ ๊ฐ ์ค์
- ๐บ๏ธ ์ง์ญ ๊ธฐ๋ฐ ํ๋ก๊น ์ฅ์ ์ถ์ฒ: ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ง์ญ์ ํ๋ก๊น ์ฅ์ ์ถ์ฒ
- ๐ฃ๏ธ ๊ฒฝ๋ก ์๋ด: T๋งต API๋ฅผ ํตํ ์ต์ ๊ฒฝ๋ก ์ ๊ณต
- ๐ฌ AI ์ฑ๋ด: ๊ด๊ด ๊ด๋ จ ์ง๋ฌธ ๋ต๋ณ
- ๐ธ ์ด๋ฏธ์ง ์ ๋ก๋: ์ฌ์ง์ ํตํ ์ฅ์ ์ธ์ ๋ฐ ์ ๋ณด ์ ๊ณต
- ๐๏ธ ์ฐ๋ ๊ธฐํต ์์น ์๋ด: ๊ด๊ด์ง ์ฃผ๋ณ ์ฐ๋ ๊ธฐํต ์์น ์ ๋ณด
- Frontend: Next.js 14, TypeScript, Tailwind CSS, Radix UI
- Backend: FastAPI, Python 3.8+
- Maps: T๋งต API, ๋ค์ด๋ฒ ์ง๋ API
- AI: LaaS API, ํ๊ตญ๊ด๊ด๊ณต์ฌ API
- Deployment: Vercel (Frontend), ๊ธฐํ ํด๋ผ์ฐ๋ ์๋น์ค (Backend)
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ผ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค.