Proxy 기반 HTTP 요청/응답 Capture 및 Dashboard 조회 도구 100% AI(Vibe Coding) 기반으로 개발 중인 개인 프로젝트
FlowTool은 개발 중 발생하는 HTTP 요청과 응답을 Proxy 방식으로 중계하고 저장하여, 개발자가 서비스 간 통신 흐름과 실패 지점을 빠르게 확인할 수 있도록 돕는 개발 지원 도구입니다.
v1은 Source Application이 FlowTool Proxy를 통해 Target Application을 호출하고, 그 과정에서 생성된 요청/응답 Capture Log를 PostgreSQL에 저장한 뒤 Dashboard에서 목록과 상세로 확인하는 흐름을 완성하는 데 초점을 맞췄습니다.
FlowTool의 목표는 다음과 같습니다.
- Proxy 기반 HTTP 요청 및 응답 수집
- Target Application 응답을 Source Application에 반환
- 요청/응답 데이터 저장 및 조회
- Proxy 오류와 Target 오류 구분
- 개발 중 디버깅 생산성 향상
이 프로젝트는 100% AI 기반(Vibe Coding) 으로 개발됩니다.
직접 코드를 작성하기보다 AI Agent(Codex)와 MCP(Model Context Protocol)를 활용하여 다음과 같은 개발 프로세스를 구축했습니다.
문서 기반 요구사항 정의
↓
AI 구현
↓
자동 테스트
↓
MCP 검증
↓
개발 히스토리 기록
AI는 단순히 코드를 생성하는 것이 아니라,
- 구현
- 테스트
- 검증
- 작업 기록
까지 하나의 작업 단위로 수행하도록 설계했습니다.
- Node.js
- Express.js
- TypeScript
- PostgreSQL
- React
- Vite
- TypeScript
- OpenAI Codex
- PostgreSQL MCP
- FlowTool Server Manager MCP
- Chrome DevTools MCP
- Playwright MCP
- Figma MCP
- Notion MCP
v1의 핵심 구조는 Proxy 중심입니다.
Source Application
↓
FlowTool Proxy API
↓
Target Application
↓
FlowTool Capture 저장
↓
PostgreSQL
↓
Query API
↓
React Dashboard
FlowTool은 모든 Backend 요청을 자동으로 Capture하지 않습니다.
Capture Log는 /proxy를 통해 실제로 중계된 요청과 응답만 대상으로 합니다.
Dashboard가 호출하는 GET /api/captures, GET /api/captures/:id와 GET /health는 Capture Log로 저장하지 않습니다.
FlowTool
├── backend/ Express + TypeScript Backend
├── frontend/ React + Vite Frontend
├── CODEX/ AI 개발 문서
├── docs/ 프로젝트 문서 및 테스트 시나리오
└── README.md
FlowTool은 문서 기반 개발(Document Driven Development)을 지향합니다.
주요 문서는 다음과 같습니다.
CODEX/AGENT.mdCODEX/L1_coding_rules.mdCODEX/L1_mvp_scope.mdCODEX/L2_architecture.mdCODEX/L2_entity_model.mdCODEX/L2_api_spec.mdCODEX/L2_ai_workflow.mdCODEX/L2_mcp_workflow.mdCODEX/L3_test_strategy.mdCODEX/L4_current_requirement.mdCODEX/L4_progress.mddocs/skills/systemTask/docs/httpieExample.md
AI는 위 문서를 참고하여 구현, 검증, 기록을 진행합니다.
FlowTool v1은 Source Application의 요청을 Proxy로 중계하고, 그 결과를 Capture Log로 저장한 뒤 Dashboard에서 조회하는 흐름을 제공합니다.
현재 구현 완료
- Express.js Backend 구성
- PostgreSQL 연동
- Capture Log 저장 모델 / Repository / Service
- Query API 분리
GET /api/capturesGET /api/captures/:idGET /health- FlowTool 내부 API 자동 Capture 제외
- Proxy Core 구현 (
ANY /proxy) X-FlowTool-Target-Url기반 Target URL 전달X-FlowTool-Source-Service기반 Source Service 저장- HTTP Method / Query / Header / Body 전달
- Target Application 응답 Status / Header / Body 반환
- Proxy 요청 및 응답 Capture Log 저장
- Proxy 요청 1건당 Capture Log 1건 저장
- Target URL 누락 / 잘못된 Target URL 처리
- Target 연결 실패
502 - Target Timeout
504 - Target Application
4xx,5xx응답 passthrough - Proxy 오류와 Target 오류 구분
- React + Vite Dashboard
- Capture Log 목록 화면
- Capture Log 상세 화면
- Source Service / Target URL / Response Headers / Proxy Error 표시
- Loading / Empty / Error / Not Found 상태 처리
- Figma 기반 Dashboard UI 개선
- Backend 자동 검증 스크립트
- System Test 시나리오 문서화
- Notion 기반 Development History / System Test History 기록 흐름
v1 제외
- Spring Starter
- Node SDK
- Target Service 매핑
- 검색 / 필터 / 정렬 / 페이지네이션
- 통계 / 차트
- 실시간 갱신
- 인증 / 권한
- AI 분석
- 요청 재실행
- Streaming / SSE / WebSocket
ANY /proxy
X-FlowTool-Target-Url: http://localhost:4000/api/example
X-FlowTool-Source-Service: source-applicationProxy API는 Target Application의 응답 Status, Header, Body를 가능한 한 그대로 Source Application에 반환합니다.
GET /api/captures
GET /api/captures/{captureId}Query API는 저장된 Capture Log를 조회하며, Query API 요청 자체는 Capture Log로 저장하지 않습니다.
GET /healthBackend 실행
cd backend
npm install
npm run devFrontend 실행
cd frontend
npm install
npm run dev기본 접속 주소
Backend: http://localhost:3000
Frontend: http://localhost:5173
Backend 검증
cd backend
npm run build
npm run verify:capture
npm run verify:capture-logs
npm run verify:no-auto-capture
npm run verify:proxy-core
npm run verify:proxy-errorsFrontend 검증
cd frontend
npm run build수동 HTTPie 예제는 아래 문서를 참고합니다.
docs/httpieExample.md
v1 System Test는 docs/skills/systemTask/systemTest.md를 진입점으로 수행합니다.
현재 시나리오 문서는 다음과 같습니다.
001_basic_capture.md002_proxy_forwarding.md003_proxy_error_handling.md004_target_error_passthrough.md005_target_service_integration.md006_dashboard_states.md007_internal_api_exclusion.md
최종 v1 통합 테스트에서는 Proxy → Capture 저장 → Query API → Dashboard 표시 흐름의 핵심 데이터가 PostgreSQL, API, UI에서 일치함을 확인했습니다.
v2 이후 후보
- Spring 연동 모듈
- Node 연동 모듈
- Target Service 매핑
- Dashboard 검색 / 필터
- JSON Copy / 접기 기능
- 테스트 환경 격리
- AI 로그 요약
- Trace 기반 요청 흐름 분석
- AI와 협업하는 개발 프로세스 구축
- 문서 기반 개발
- Proxy 중심 Capture 구조
- MCP를 활용한 자동 검증
- Development History와 System Test History 분리
- MVP 중심의 점진적 개발

