AI TechTree는 AI 면접관과 실시간으로 대화하며 기술 역량을 증명하고, RPG 게임처럼 스킬 트리를 채워나가는 서비스입니다. 단순한 문제 풀이가 아닌, 꼬리에 꼬리를 무는 심층 인터뷰 를 통해 당신의 '진짜 실력'을 진단합니다.
- 🕵️ AI 심층 면접: 답변에 따라 달라지는 동적 질문 생성
- 🌳 라이브 스킬 트리: 내 강점과 약점을 한눈에 보여주는 시각화
- ⚔️ 커리어 RPG: '전직' 시스템으로 즐기는 성장
💡 Engineering Philosophy 본 프로젝트는 LangGraph 기반의 Multi-Agent 시스템과 MCP 프로토콜을 활용하여 "AI 주도형 아키텍처 (AI-Driven Architecture)" 를 완성했습니다. 1인 개발자로서 기획(PRD)부터 배포(CI/CD) 까지의 Full-Cycle Engineering을 통해, AI 로직의 깊이(Deep-Dive) 와 인프라의 효율성(Lean) 을 균형 있게 달성했습니다.
- Documentation: 기획 및 설계 문서
- Tech Stack: 사용 기술 및 도구
- Architecture: 시스템 구조
- Git & Deployment: 브랜치 전략 및 배포
- Version History: 버전별 변경 사항
- Roadmap: 개발 일정
- Getting Started: 설치 및 실행 방법
프로젝트의 모든 기획 및 설계 문서는
docs디렉토리 내에서 코드와 함께 관리됩니다.
| Directory | Description | Key Documents |
|---|---|---|
| 1_prd | 기획 (Product Spec) 요구사항 및 서비스 흐름 정의 |
• 핵심 기능 명세 • 페르소나 정의 • 서비스 흐름도 • 스프린트 로드맵 |
| 2_design | 설계 (System Design) 시스템 아키텍처 및 기술 설계 |
• 시스템 아키텍처 • AI 에이전트 설계 • DB 스키마 • MCP 서버 설계 |
| 3_knowledge | 지식 (Knowledge Base) 기술 의사결정 및 참고 자료 |
• 기술 스택 선정 • 참고 자료 |
👉 전체 문서 목록 보기
👉 개발 로그 보기
👉 파일 구조 보기
프로젝트에 사용된 핵심 기술 및 인프라 구성입니다.
- Frontend:
Next.js로 구축되어Vercel을 통해 배포됩니다.(자동배포) - Backend:
FastAPI서버를Docker container로 빌드하여AWS(EC2)에서 실행합니다. - Database:
MongoDB Atlas를 사용하여 데이터 안정성을 확보합니다. - AI Engine:
LangGraph기반의 Multi-Agent 시스템이 코드 분석 및 평가를 수행합니다.
본 프로젝트는 개발(Dev) 과 운영(Prod) 환경을 철저히 분리하여 데이터 안정성과 배포 속도를 모두 확보했습니다. Docker 기반의 일관된 환경과 Vercel/AWS의 클라우드 자원을 효율적으로 결합하여 Cost-Effective한 인프라를 구축했습니다.
| Branch | Action & Role | Frontend | Backend | Database |
|---|---|---|---|---|
develop |
Develop & Test 개발 및 로컬 테스트 |
Localhost / Preview (Dev Environment) |
Local Docker (Consistency Test) |
MongoDB Atlas (Dev) |
main / Tag |
Production 실제 라이브 서비스 |
Vercel Prod (Edge Network + CDN) |
AWS EC2 (t3.small + Docker) |
MongoDB Atlas (Prod) |
프로젝트의 주요 릴리즈 및 변경 사항 내역입니다.
| Version | Feature | KeyTechnology | Release Date |
|---|---|---|---|
| v1.0.0 | MCP Tool Calling Agent MCP tool을 활용한 챗봇 서비스 |
Langchain, MCP, FastAPI, AWS, streamlit | 2026.01.15 (서비스 중) |
| v1.1.0 | Multi-Agent System 동적 문제 출제 및 챗봇 서비스 |
LangGraph, FastAPI, Streamlit, MongoDB | 2026.01.28 |
| v2.0.0 | Web Service & Agent 동적 화면 기반 웹 서비스 |
Next.js, Vercel, RAG, MongoDB | 2026.02.11 |
상세한 개발 일정과 스프린트 계획은 Sprint Roadmap 문서를 참고하세요.
| Phase | Focus & Sprints | Period |
|---|---|---|
| Phase 0 | Planning & Design (Sprint 0) 기획 및 기술 조사 |
2025.12 (Early ~ Mid) |
| Phase 1 | MCP & Multi-Agent (v1.1) (Sprint 1-5) AI Core Logic, MCP, LangGraph Agent |
2025.12 ~ 2026.01 (Late) |
| Phase 2 | Web Service MVP (v2.0) (Sprint 6-8) Next.js Frontend & Stateful Integration |
2026.02 (Early ~ Late) |
| Phase 3 | Iteration & Scale-up (Sprint 9-10) 성능 개선 및 고도화 |
2026.03 ~ 04 |
| Phase 4 | Polish & Stabilization (Sprint 11) 안정성 확보 및 유지보수 |
2026.05 ~ |
docs/README.md를 참고하여 개발 환경을 구축할 수 있습니다.
- Environment:
- Docker & Docker Compose
- Node.js v22.12.0+
- Python 3.13.11+
- API Keys:
- OpenAI API Key
- Tavily API Key
- Infrastructure:
- MongoDB Atlas
- AWS EC2 Instance
프로젝트 루트 경로에 .env 파일을 생성합니다. 아래 키들은 필수로 포함되어야 합니다.
# .env Configuration
# Project Settings
PROJECT_NAME="AI TechTree"
API_V1_STR="/api/v1"
API_V2_STR="/api/v2"
# AI & Search Keys
OPENAI_API_KEY="sk-..."
TAVILY_API_KEY="tvly-..."
# Database
MONGODB_URL="mongodb+srv://..."
DB_NAME="ai_techtree_dev"로컬 환경에서 전체 스택(Backend + Frontend + MCP + Nginx)을 실행하는 권장 방법입니다.
# 1. Build & Run (Force Rebuild)
docker-compose -f docker-compose.local.yml up -d --build
# 2. Check Logs
docker-compose -f docker-compose.local.yml logs -f
# 3. Stop Server
docker-compose -f docker-compose.local.yml downAccess Points:
- Frontend (Next.js v2): http://localhost:8100
- Backend Docs: http://localhost:8000/docs
- MCP Server: http://localhost:8200/mcp
AWS EC2 프로덕션 환경에 배포하는 방법입니다.
1. For AWS (Local Mac): 이미지를 빌드하여 Hub에 푸시하고, 설정 파일을 전송합니다.
docker build --no-cache --platform linux/amd64 -t haebo/ai-techtree:v1 .
docker push haebo/ai-techtree:v1
scp -r nginx techtree-server:~/
scp docker-compose.yml .env techtree-server:~/2. In AWS (Server): 서버에 접속하여 최신 이미지를 풀(Pull) 받고 실행합니다.
# Local terminal:
ssh techtree-server
# AWS terminal:
docker-compose pull
docker-compose down
docker-compose up -d --remove-orphans
docker-compose logs -fAccess Points:
- Frontend: https://haebo.pro
- MCP Server: https://haebo.pro/mcp
MongoDB에 필요한 인덱스를 생성하고 TechTree 데이터를 동기화하는 초기화 스크립트를 실행합니다.
# Run init scripts inside the backend container
docker-compose -f docker-compose.local.yml exec backend sh -c "python scripts/init_db.py && python scripts/sync_track_to_db.py"To monitor and interact with the LangGraph agent locally using LangSmith (LangGraph Studio):
-
Setup Agent Environment Create a
.envfile inbackend/(or copy from root) with the following:OPENAI_API_KEY=sk-... LANGCHAIN_TRACING_V2=true LANGCHAIN_PROJECT=ai-techtree-agent LANGCHAIN_API_KEY=lsv2_... MONGODB_URL=mongodb://root:example@localhost:27017/ai_techtree?authSource=admin
-
Install Dependencies & Run Server
cd backend/app/engine/agents/langgraph # Install project in editable mode pip install -e . pip install langgraph-cli # Run Server (Ensure backend root is in PYTHONPATH) # We need 'backend' directory in path to import 'app' export PYTHONPATH=$PYTHONPATH:../../../.. langgraph dev
-
Access Studio Open http://localhost:2024 in your browser.
