Skip to content

AI 개발자 랭킹 서비스를 개발을 위한 풀스택 레포지토리

Notifications You must be signed in to change notification settings

haebo9/ai-techtree-project

Repository files navigation

AI TechTree

"개발자의 성장이 게임이 되는 곳, AI TechTree"

TechTree Tree


AI TechTreeAI 면접관과 실시간으로 대화하며 기술 역량을 증명하고, RPG 게임처럼 스킬 트리를 채워나가는 서비스입니다. 단순한 문제 풀이가 아닌, 꼬리에 꼬리를 무는 심층 인터뷰 를 통해 당신의 '진짜 실력'을 진단합니다.

  • 🕵️ AI 심층 면접: 답변에 따라 달라지는 동적 질문 생성
  • 🌳 라이브 스킬 트리: 내 강점과 약점을 한눈에 보여주는 시각화
  • ⚔️ 커리어 RPG: '전직' 시스템으로 즐기는 성장

💡 Engineering Philosophy 본 프로젝트는 LangGraph 기반의 Multi-Agent 시스템MCP 프로토콜을 활용하여 "AI 주도형 아키텍처 (AI-Driven Architecture)" 를 완성했습니다. 1인 개발자로서 기획(PRD)부터 배포(CI/CD) 까지의 Full-Cycle Engineering을 통해, AI 로직의 깊이(Deep-Dive)인프라의 효율성(Lean) 을 균형 있게 달성했습니다.

📖 Index


⭐ Documentation

프로젝트의 모든 기획 및 설계 문서는 docs 디렉토리 내에서 코드와 함께 관리됩니다.

📂 Documentation Structure

Directory Description Key Documents
1_prd 기획 (Product Spec)
요구사항 및 서비스 흐름 정의
핵심 기능 명세
페르소나 정의
서비스 흐름도
스프린트 로드맵
2_design 설계 (System Design)
시스템 아키텍처 및 기술 설계
시스템 아키텍처
AI 에이전트 설계
DB 스키마
MCP 서버 설계
3_knowledge 지식 (Knowledge Base)
기술 의사결정 및 참고 자료
기술 스택 선정
참고 자료

👉 전체 문서 목록 보기
👉 개발 로그 보기
👉 파일 구조 보기


⭐ Tech Stack

프로젝트에 사용된 핵심 기술 및 인프라 구성입니다.

Category Technology Description
Frontend Next.js TypeScript React Flow Interactive UI/UX & Visualization
Backend Python FastAPI Docker High-Performance API & Container
AI / LLM LangChain LangGraph OpenAI MCP Tavily AI Agents & Workflow Orchestration
Cloud/DB AWS Vercel MongoDB Cloud Infrastructure & Database

⭐ Architecture

  • Frontend: Next.js로 구축되어 Vercel을 통해 배포됩니다.(자동배포)
  • Backend: FastAPI 서버를 Docker container로 빌드하여 AWS(EC2)에서 실행합니다.
  • Database: MongoDB Atlas를 사용하여 데이터 안정성을 확보합니다.
  • AI Engine: LangGraph 기반의 Multi-Agent 시스템이 코드 분석 및 평가를 수행합니다.

⭐ Git & Deployment

본 프로젝트는 개발(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 History

프로젝트의 주요 릴리즈 및 변경 사항 내역입니다.

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

상세한 개발 일정과 스프린트 계획은 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 ~

⭐ Getting Started

docs/README.md를 참고하여 개발 환경을 구축할 수 있습니다.

Prerequisites

  • 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

1. Environment Setup

프로젝트 루트 경로에 .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"

2. Run Local Server (Docker)

로컬 환경에서 전체 스택(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 down

Access Points:

3. Deploy to AWS

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 -f

Access Points:

4. Database Setup

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"

5. LangSmith Server (Local Test)

To monitor and interact with the LangGraph agent locally using LangSmith (LangGraph Studio):

  1. Setup Agent Environment Create a .env file in backend/ (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
  2. 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
  3. Access Studio Open http://localhost:2024 in your browser.

About

AI 개발자 랭킹 서비스를 개발을 위한 풀스택 레포지토리

Resources

Stars

Watchers

Forks

Packages

No packages published