이미지 생성 및 브랜칭 기능을 제공하는 프론트엔드 애플리케이션입니다.
중요: 백엔드 개발을 시작하기 전에 반드시 BACKEND_SPEC.md 파일을 확인하세요.
/BACKEND_SPEC.md객체 리스트 생성 API
src/api/composition.ts - requestObjectList()POST /api/composition/objects이미지 생성 시작 API
src/api/composition.ts - startImageGeneration()POST /api/composition/start브랜치 생성 API
src/api/branch.ts - createBranch()POST /api/branch/createWebSocket 이미지 스트림
src/api/websocket.ts - connectImageStream()ws://{host}/ws/image-stream/{sessionId} 또는 ws://{host}/ws/image-stream/{sessionId}/{branchId}이미지 스트림 처리
src/stores/imageStore.tssimulateGraphImageStream(), simulateBranchImageStream()프론트엔드 코드에서 TODO: 백엔드 또는 TODO: 실제 백엔드로 검색하면 백엔드 연동이 필요한 모든 위치를 찾을 수 있습니다.
cd front/i2i-front
npm install
npm run dev
서버를 돌릴 수 없는 상황에서 테스트하기 위해 Mock 모드를 사용할 수 있습니다.
방법 1: 환경 변수 사용 (권장)
# .env 파일 생성 또는 수정
VITE_USE_MOCK_MODE=true
# 개발 서버 실행
npm run dev
방법 2: 코드에서 직접 수정
front/i2i-front/src/config/api.ts 파일을 열고:
export const USE_MOCK_MODE = true; // false를 true로 변경
front/i2i-front/
├── src/
│ ├── api/ # 백엔드 API 호출 함수들
│ │ ├── composition.ts # 객체 리스트, 이미지 생성 시작
│ │ ├── branch.ts # 브랜치 생성
│ │ ├── websocket.ts # WebSocket 연결
│ │ └── feedback.ts # 피드백 제출 (deprecated)
│ ├── components/ # React 컴포넌트들
│ │ ├── GraphCanvas.tsx # 메인 그래프 캔버스
│ │ ├── CompositionModal.tsx # 구도 설정 모달
│ │ ├── BranchingModal.tsx # 브랜치 생성 모달
│ │ └── ...
│ ├── stores/ # Zustand 상태 관리
│ │ └── imageStore.ts # 이미지 및 그래프 상태 관리
│ └── types/ # TypeScript 타입 정의
│ └── index.ts
└── BACKEND_SPEC.md # 백엔드 스펙 문서 (프로젝트 루트)
프롬프트 기반 이미지 생성
인터랙티브 그래프
브랜치 생성
실시간 이미지 스트림
Python
65.2%
TypeScript
25.9%
Jupyter Notebook
8.5%
이미지 생성 및 브랜칭 기능을 제공하는 프론트엔드 애플리케이션입니다.
중요: 백엔드 개발을 시작하기 전에 반드시 BACKEND_SPEC.md 파일을 확인하세요.
/BACKEND_SPEC.md객체 리스트 생성 API
src/api/composition.ts - requestObjectList()POST /api/composition/objects이미지 생성 시작 API
src/api/composition.ts - startImageGeneration()POST /api/composition/start브랜치 생성 API
src/api/branch.ts - createBranch()POST /api/branch/createWebSocket 이미지 스트림
src/api/websocket.ts - connectImageStream()ws://{host}/ws/image-stream/{sessionId} 또는 ws://{host}/ws/image-stream/{sessionId}/{branchId}이미지 스트림 처리
src/stores/imageStore.tssimulateGraphImageStream(), simulateBranchImageStream()프론트엔드 코드에서 TODO: 백엔드 또는 TODO: 실제 백엔드로 검색하면 백엔드 연동이 필요한 모든 위치를 찾을 수 있습니다.
cd front/i2i-front
npm install
npm run dev
서버를 돌릴 수 없는 상황에서 테스트하기 위해 Mock 모드를 사용할 수 있습니다.
방법 1: 환경 변수 사용 (권장)
# .env 파일 생성 또는 수정
VITE_USE_MOCK_MODE=true
# 개발 서버 실행
npm run dev
방법 2: 코드에서 직접 수정
front/i2i-front/src/config/api.ts 파일을 열고:
export const USE_MOCK_MODE = true; // false를 true로 변경
front/i2i-front/
├── src/
│ ├── api/ # 백엔드 API 호출 함수들
│ │ ├── composition.ts # 객체 리스트, 이미지 생성 시작
│ │ ├── branch.ts # 브랜치 생성
│ │ ├── websocket.ts # WebSocket 연결
│ │ └── feedback.ts # 피드백 제출 (deprecated)
│ ├── components/ # React 컴포넌트들
│ │ ├── GraphCanvas.tsx # 메인 그래프 캔버스
│ │ ├── CompositionModal.tsx # 구도 설정 모달
│ │ ├── BranchingModal.tsx # 브랜치 생성 모달
│ │ └── ...
│ ├── stores/ # Zustand 상태 관리
│ │ └── imageStore.ts # 이미지 및 그래프 상태 관리
│ └── types/ # TypeScript 타입 정의
│ └── index.ts
└── BACKEND_SPEC.md # 백엔드 스펙 문서 (프로젝트 루트)
프롬프트 기반 이미지 생성
인터랙티브 그래프
브랜치 생성
실시간 이미지 스트림
Python
65.2%
TypeScript
25.9%
Jupyter Notebook
8.5%