MVP Development Progress

AI 여행 컨시어지 챗봇

Next.js 16  ·  TypeScript strict  ·  Prisma 5  ·  MariaDB  ·  ChatGPT gpt-4o
Last Updated: 2026-05-25
👤
사용자 (User)
테스트 계정으로 즉시 로그인 가능
서비스 https://travel.habyapps.com/ko
열기
이메일 test@travel.habyapps.com
비밀번호 travel1234!
언어 ko / en / id
EN ID
🛡️
관리자 (Admin)
JWT 인증 (admin_token 쿠키, 8시간 유효)
대시보드 https://travel.habyapps.com/admin
열기
이메일 admin@travel.habyapps.com
비밀번호 changeme123!
서버 PM2 (port 3002) + Apache Reverse Proxy
전체 진행률
Task 001 – 032  ·  Phase 0 – 9
100%
✅ 완료 32 ⏳ 대기 0 🚧 진행 0 📅 2026-05-25 검색/알림/추천일정 추가
Phase 0 인프라 셋업 및 애플리케이션 골격 완료
No작업명주요 내용분류상태
001
프로젝트 초기 설정
Next.js 16 App Router + TypeScript strict, Tailwind CSS v4, shadcn/ui, ESLint/Prettier
인프라 ✅ 완료
002
Prisma 스키마 설계
MariaDB + Prisma 5.22, User / Conversation / Message / Itinerary / Place / FAQ / SystemPrompt / AIProviderConfig / BannedWord / Reservation / AgentMemo
인프라 ✅ 완료
003
라우팅 구조 및 i18n 골격
next-intl [locale] 라우트 (ko/en/id), 관리자 라우트, LocaleSwitcher, Header/BottomNav
인프라 ✅ 완료
004
타입 정의 및 인터페이스
ChatMessage / Tool / ToolCall / LLMProvider 인터페이스, Itinerary / Place / User / API 공통 타입
인프라 ✅ 완료
Phase 1 사용자 인증 및 마이페이지 완료
No작업명주요 내용분류상태
005
Auth.js v5 사용자 인증
Credentials Provider, bcrypt 해싱, JWT 세션, 회원가입/로그인 UI, src/proxy.ts 미들웨어
인증 ✅ 완료
006
마이페이지 구현
/api/user/profile, /api/user/password, 프로필 조회/수정, 비밀번호 변경, 저장된 일정 목록
인증 ✅ 완료
007
비로그인→로그인 대화 인계
sessionStorage 기반 임시 대화 → /api/conversation/handoff → DB userId 동기화
인증 ✅ 완료
Phase 2 LLM 어댑터 + 챗봇 코어 + 스트리밍 완료
No작업명주요 내용분류상태
008
LLM 프로바이더 어댑터
LLMProvider 인터페이스, Anthropic / OpenAI 어댑터, AES-256-GCM API Key 복호화, DB 동적 로드
AI ✅ 완료
009
채팅 UI 컴포넌트
MessageBubble, MessageList, ChatInput, TypingIndicator, react-markdown + rehype-sanitize XSS 방어
UI ✅ 완료
010
스트리밍 응답 및 멀티턴
/api/chat/stream SSE, Rate Limit(IP당 20req/min), Sliding window 10턴, DB 저장
AI ✅ 완료
011
시스템 프롬프트 DB 로드
locale별 활성 프롬프트, 메모리 캐시 + TTL, 관리자 변경 시 즉시 반영
AI ✅ 완료
Phase 3 외부 API Tool Use 통합 완료
No작업명주요 내용분류상태
012
LLM Tool Use 아키텍처
Tool/ToolResult 인터페이스, 프로바이더별 변환, 다단계 체이닝 루프(MAX 5회), 병렬 실행
AI ✅ 완료
013
날씨/환율 외부 API Tool
OpenWeatherMap get_weather, open.er-api.com get_exchange_rate, 응답 캐싱
외부API ✅ 완료
014
추천 및 유의사항 Tool
get_recommendations(Place DB 필터), FAQ 매칭, 예산/동행/목적 기반 필터링
외부API ✅ 완료
Phase 4 일정 저장/관리/Day UI + 지도 완료
No작업명주요 내용분류상태
015
여행 일정 추천 및 저장
create_itinerary Tool, Zod 검증, /api/itinerary CRUD, 여행목적/예산/인원 저장
UI ✅ 완료
016
Day별 스케줄 UI
/itinerary/[id] 상세 페이지, @dnd-kit 드래그앤드롭, 장소 CRUD, Day 탭 UI
UI ✅ 완료
017
Google Maps 동선 시각화
@vis.gl/react-google-maps, 서버사이드 지오코딩 프록시, Marker + Polyline 렌더링
외부API ✅ 완료
Phase 5 공유 URL + PDF 다운로드 완료
No작업명주요 내용분류상태
018
일정 공유 URL
nanoid 토큰, /api/itinerary/[id]/share, 공개 페이지 /share/[token], OG Meta 태그
UI ✅ 완료
019
PDF 다운로드
@react-pdf/renderer, Noto Sans KR 임베딩, /api/itinerary/[id]/pdf, A4 레이아웃
UI ✅ 완료
Phase 6 다국어 콘텐츠 완성 완료
No작업명주요 내용분류상태
020
전체 UI 다국어 적용
messages/ko.json, en.json, id.json 전체 키, useTranslations / getTranslations 적용
UI ✅ 완료
021
다국어 시스템 프롬프트
locale별 시스템 프롬프트 시드, 챗봇 locale 컨텍스트 주입, 다국어 에러 메시지
AI ✅ 완료
Phase 7 관리자 페이지 전체 완료
No작업명주요 내용분류상태
022
관리자 인증 및 대시보드
ADMIN_JWT_SECRET, jose HS256, admin_token httpOnly 쿠키(8h), 통계 대시보드
관리자 ✅ 완료
023
FAQ 및 추천 데이터 CRUD
/admin/faq, /admin/places 페이지네이션 + 검색, 카테고리/태그/좌표 관리
관리자 ✅ 완료
024
시스템 프롬프트 관리
/admin/prompts locale 탭, 버전 히스토리 + 롤백, 활성 버전 지정
관리자 ✅ 완료
025
AI 프로바이더 설정
Claude/ChatGPT 동적 전환, AES-256-GCM 암호화, 트랜잭션 기반 활성 전환
관리자 ✅ 완료
026
대화 로그 및 금칙어 관리
/admin/logs 키워드 검색, 상세 조회, /admin/banned-words 정규식 지원, 캐시 무효화
관리자 ✅ 완료
Phase 8 B2B 상담 관리 + 외부 연동 + 보안 완료
No작업명주요 내용분류상태
027
B2B 상담 관리 모듈
/admin/consultations 목록/상세, 상태관리(NEW→IN_PROGRESS→BOOKED→CLOSED), 카테고리 분류, 상담원 배정, 예약 등록, 내부 메모
관리자 ✅ 완료
028
외부 연동 및 확장
get_booking_links Tool (항공/숙박/액티비티 파트너 URL), KakaoTalk/WhatsApp Webhook, Email/Slack 알림 시스템
외부연동 ✅ 완료
029
보안 점검 및 코드 리뷰
Zod 검증 일괄 적용, unsafe 캐스팅 제거, HMAC 서명 검증, safeInt NaN 방지, Prisma 트랜잭션, CSP 헤더, Rate Limit
보안 ✅ 완료
Phase 9 검색 · 알림 · 추천 일정 콘텐츠 완료
No작업명주요 내용분류상태
030
50개국 추천 여행 일정 생성
55개 일정 시드 데이터 (도쿄/파리/뉴욕 등), 국가별 Unsplash 이미지, 메인 페이지 추천 6개 랜덤 표시
UI ✅ 완료
031
여행 일정 검색 페이지
/search 검색 페이지, 키워드(도시/국가/제목) 검색, 여행 목적별 필터(가족/커플/허니문/출장/솔로/단체), 페이지네이션, /api/itinerary/search API
UI ✅ 완료
032
알림 시스템 및 알림 페이지
Notification DB 모델, /notifications 리스트 페이지, 20개 시드 데이터(일정/날씨/환율/프로모/시스템), 읽음 처리, 헤더 알림 배지, /api/notifications API
UI ✅ 완료
기술 스택
Next.js
16.2.6 App Router
🔷
TypeScript
5.x strict
🎨
Tailwind CSS
v4 + shadcn/ui
🗄️
Prisma
5.22 + MariaDB
🧠
OpenAI
gpt-4o (활성)
🤖
Claude API
claude-sonnet-4
🔑
Auth.js v5
+ jose JWT
🗺️
Google Maps
@vis.gl
🌍
next-intl
ko / en / id
📄
react-pdf
Noto Sans KR
🧪
Playwright
E2E Tests
🚀
PM2
Production (port 3002)
PRD 모듈 완료 현황
모듈설명주요 기능상태
2-1
B2C AI 컨시어지
자연어 챗봇, LLM Tool Use, 날씨/환율/추천, 시스템 프롬프트, FAQ 기반 응답
✅ 완료
2-2
맞춤 추천 및 일정 관리
여행 성향/예산/목적 분석, 일정 생성/저장, Day별 UI, 지도 시각화, PDF/공유
✅ 완료
2-3
B2B 상담 지원 및 예약
상담 목록/상세, 상태관리, 상담원 배정, 예약 등록, 내부 메모
✅ 완료
2-4
다국어 지원
next-intl (ko/en/id), locale 라우팅, 시스템 프롬프트 locale별 분리
✅ 완료
2-5
관리자 페이지
대시보드, FAQ/Place CRUD, 프롬프트 관리, AI 프로바이더 설정, 로그/금칙어
✅ 완료
2-6
외부 연동 및 확장
파트너 예약 링크, Google Maps, KakaoTalk/WhatsApp Webhook, 이메일/Slack 알림
✅ 완료