ArchAgent는 건축 도면 이미지를 업로드하면 Gemini 기반으로 설계 검토를 수행하는 웹 애플리케이션입니다.
- 도면 업로드 후 일반 설계 진단(접근성/동선/출입구/화장실 등) 제공
- 휠체어 접근성 분석(층별 진단 + 마커 좌표)
- 일조량/열효율 분석(창호 영향, 비용 영향, 히트맵 좌표)
- 화재 확산/대피 경로 분석(위험도, 경로 점수, 단계별 대피 가이드)
- 분석 결과 기반 대화형 채팅 지원
프론트엔드는 Vite + React + TypeScript, 백엔드는 Express + @google/genai로 구성되어 있습니다.
Gemini 분석 4종(일반/휠체어/일조/화재)은 Redis + BullMQ 큐로 비동기 처리됩니다.
Redis가 연결되지 않으면 서버 내부 메모리 백그라운드 실행으로 자동 fallback 됩니다.
- Node.js 설치 (LTS 권장)
- 환경 변수 파일 생성
cp .env.example .env.local필수 값:
GEMINI_API_KEY: Gemini API 키
주요 옵션:
API_PORT: 로컬 백엔드 포트 (기본8787)VITE_API_PROXY_TARGET: Vite 개발 서버의/api프록시 대상VITE_API_BASE_URL: 프론트/백엔드가 다른 오리진일 때 API 베이스 URLREDIS_URL: 분석 큐 Redis 연결 주소 (기본redis://127.0.0.1:6379)
docker compose up -d redisRedis를 띄우지 않아도 앱은 동작하지만, 이 경우 작업 상태는 메모리 기반으로만 유지됩니다.
터미널 1:
npm install
npm run dev:server터미널 2:
npm run dev:worker터미널 3:
npm run dev- 프론트엔드:
http://localhost:8080 - 백엔드 API:
http://localhost:8787(또는API_PORT) - 워커: Redis 큐에서 분석 작업 소비
- 개발 환경에서 프론트엔드
/api요청은 백엔드로 프록시됩니다.
한 번에 실행:
npm run dev:all터미널 1:
npm run start터미널 2:
npm run start:worker또는 한 번에 실행:
npm run start:allnpm run start는 아래를 순서대로 실행합니다.
npm run build로 프론트엔드 빌드- Express 서버 실행 (
dist/정적 파일 +/api/*)
접속 주소:
http://localhost:8787(기본)API_PORT가 설정되어 있으면 해당 포트 사용NODE_ENV=production이면PORT우선 사용
npm run dev # 프론트엔드 개발 서버
npm run dev:server # 백엔드 개발 서버
npm run dev:worker # 분석 큐 워커
npm run dev:all # 백엔드+워커 동시 실행
npm run start # 프로덕션 스타일 API 서버
npm run start:worker # 프로덕션 스타일 워커
npm run start:all # API 서버+워커 동시 실행
npm run build # 프론트엔드 빌드
npm run preview # 빌드 결과 미리보기
npm run lint # 타입 체크(tsc --noEmit)권장 점검:
npm run lint && npm run build