# 짜장나라 포스·프린터 브리지

Netlify 주문을 Windows 카운터 포스에서 받아 카운터·주방 프린터로 자동 출력하는 로컬 구동장치입니다.

## 배포 전 필수 설정

Netlify 사이트의 **Site configuration → Environment variables**에 다음 값을 등록합니다.

- `TOSS_SECRET_KEY`: 기존 토스페이먼츠 시크릿 키
- `POS_API_TOKEN`: 32자 이상의 임의 문자열. 주문 진행판과 브리지 인증에 사용

설정 후 사이트를 다시 배포해야 합니다.

## 포스 PC 요구사항

- Windows 10/11
- Windows PowerShell 5.1
- Windows에 정상 설치된 카운터 및 주방 프린터 드라이버
- 항상 연결되는 인터넷
- 절전 모드 해제 권장

프린터는 **Windows 설정 → 프린터 및 스캐너**에서 테스트 페이지가 먼저 정상 출력되어야 합니다.

## 설치

1. `pos-bridge` 폴더를 포스 PC의 고정 위치에 복사합니다.
2. PowerShell에서 다음 명령을 실행합니다.

```powershell
powershell.exe -ExecutionPolicy Bypass -File .\install.ps1
```

3. 안내에 따라 사이트 주소, `POS_API_TOKEN`, 카운터 프린터명, 주방 프린터명을 입력합니다.
4. 바탕화면의 **짜장나라 주문진행판**을 실행합니다.
5. 진행판의 **연결 설정**에 같은 `POS_API_TOKEN`을 입력합니다.
6. Edge/Chrome 주소창의 앱 설치 아이콘 또는 진행판의 **앱 설치** 버튼으로 설치합니다.

## 주문 진행 순서

`신규 주문 → 접수 완료 → 조리 중 → 배달 대기 → 배달 중 → 완료`

결제가 승인된 주문만 진행판에 생성됩니다. 신규 주문은 브리지가 자동으로 카운터용 주문서와 주방용 주문서를 각각 출력합니다. 진행판의 **재출력** 버튼으로 두 프린터에 다시 출력할 수 있습니다.

브리지는 실행 중 4초 간격으로 매장 온라인 신호를 전송합니다. 신호가 60초 이상 끊기면 홈페이지가 자동으로 **홀 영업중 · 배달 주문 불가**로 전환됩니다.

진행판의 **휴일 공지**에서 휴일 여부, 종료일, 안내 문구를 저장할 수 있습니다. 휴일 설정 중에는 홈페이지가 배달 불가 및 휴무 안내로 표시됩니다.

## 운영 점검

- `bridge.log`: 연결·출력 오류 기록
- `print-state.json`: 중복 출력 방지 상태
- `config.json`: 사이트·토큰·프린터 설정(외부 공유 금지)

프린터 교체 후에는 `install.ps1`을 다시 실행해 프린터명을 갱신합니다.

## 중요 제한

`Out-Printer`는 설치된 Windows 프린터 드라이버를 사용합니다. 일부 ESC/POS 전용 프린터는 제조사 Windows 드라이버, 용지 폭(58/80mm), 자동 절단 설정이 필요합니다. 해당 모델의 드라이버에서 자동 절단을 활성화해야 합니다.
