Skip to content

arch_supporter

건축설계 시 놓칠 수 있는 부분을 도와주는 설계 에이전트

Core trick

Sends floor-plan images to Gemini with per-domain prompts for accessibility, daylight, and fire egress, returning marker coordinates.

Tags

Description

건축설계 시 놓칠 수 있는 부분을 도와주는 설계 에이전트
lch5518/ArchAgent★ 00 forksTypeScriptCreated Feb 28, 2026 · last push Mar 4, 2026

README excerpt

# ArchAgent

ArchAgent는 건축 도면 이미지를 업로드하면 Gemini 기반으로 설계 검토를 수행하는 웹 애플리케이션입니다.

## 프로젝트 요약

- 도면 업로드 후 일반 설계 진단(접근성/동선/출입구/화장실 등) 제공
- 휠체어 접근성 분석(층별 진단 + 마커 좌표)
- 일조량/열효율 분석(창호 영향, 비용 영향, 히트맵 좌표)
- 화재 확산/대피 경로 분석(위험도, 경로 점수, 단계별 대피 가이드)
- 분석 결과 기반 대화형 채팅 지원

프론트엔드는 Vite + React + TypeScript, 백엔드는 Express + `@google/genai`로 구성되어 있습니다.
Gemini 분석 4종(일반/휠체어/일조/화재)은 Redis + BullMQ 큐로 비동기 처리됩니다.
Redis가 연결되지 않으면 서버 내부 메모리 백그라운드 실행으로 자동 fallback 됩니다.

## 사전 준비

1. Node.js 설치 (LTS 권장)
2. 환경 변수 파일 생성

```bash
cp .env.example .env.local
```

필수 값:

- `GEMINI_API_KEY`: Gemini API 키

주요 옵션:

- `API_PORT`: 로컬 백엔드 포트 (기본 `8787`)
- `VITE_API_PROXY_TARGET`: Vite 개발 서버의 `/api` 프록시 대상
- `VITE_API_BASE_URL`: 프론트/백엔드가 다른 오리진일 때 API 베이스 URL
- `REDIS_URL`: 분석 큐 Redis 연결 주소 (기본 `redis://127.0.0.1:6379`)

## 서버 실행 방법

### 1) Redis 실행 (권장)

```bash
docker compose up -d redis
```

Redis를 띄우지 않아도 앱은 동작하지만, 이 경우 작업 상태는 메모리 기반으로만 유지됩니다.

### 2) 개발 모드 (프론트/백엔드/워커 분리 실행)

터미널 1:

```bash
npm install
npm run dev:server
```

터미널 2:

```bash
npm run dev:worker
```

터미널 3:

```bash
npm run dev
```

- 프론트엔드: `http://localhost:8080`
- 백엔드 API: `http://localhost:8787` (또는 `API_PORT`)
- 워커: Redis 큐에서 분석 작업 소비
- 개발 환경에서 프론트엔드 `/api` 요청은 백엔드로 프록시됩니다.

한 번에 실행:

```bash
npm run dev:all
```

### 2) 단일 서버 실행 (배포 유사 방식)

터미널 1:

```bash
npm run start
```

터미널 2:

```bash
npm run start:worker
```

또는 한 번에 실행:

```bash
npm run start:all
```

`npm run start`는 아래를 순서대로 실행합니다.

1. `npm run build`로 프론트엔드 빌드
2. Express 서버 실행 (`d

Team