← 목록
기타 2026-05-02 5KB 읽기 5분

crowny-avl 6~7차 — 잔여 이슈 마무리 + 디자인표준2026 적용

개요

avl.crowny.org의 잔여 이슈 3건을 모두 해결하고 기능을 완성했다.

담당: 이용찬 팀장 / 010-9915-6990 / avl@crowny.org

해결한 이슈

1. PDF 직접 다운로드

Chrome Headless(--print-to-pdf)를 사용하여 서버 사이드에서 PDF를 생성하고 직접 다운로드한다.

  • 외부 의존성 없음 (시스템 Chrome 사용)
  • 견적서/제안서/계약서 3종 ��두 지원
  • A4 규격, 헤더 없음, 인쇄 최적화 CSS 적용
GET /api/quotes/:id/pdf         → 견적서 PDF 다운로드
GET /api/proposals/:id/pdf      → 제안서 PDF 다운로드
GET /api/contracts/:id/pdf      → 계약서 PDF 다운로드

UI: 프로젝트 상세 + 견적생성 결과에 [PDF] 버튼 추��.

2. CRM → AVL 역방향 연동

POST /api/webhook/crm 웹훅 엔드포인트 추가. crm.crowny.org에서 리드 단계를 변경하면 AVL에 자동 반영된다.

POST /api/webhook/crm
Body: { leadId?, phone?, org?, stage?, assignee?, nextAction?, nextActionDate?, note? }
→ 매칭 리드 찾기 (leadId > phone > org 우선순위)
→ 단계 변경 + 활동 이력 자동 기록 ("CRM역방향")
→ 담당자/다음액션/메모 업데이트 가능

3. 이메일 자동 발송

순수 Node.js SMTP 클라이언트로 이메일 발송. PDF 첨부 지원.

POST /api/quotes/:id/email      { to: "수신@이메일" }  → 견적서 PDF 첨부 발송
POST /api/proposals/:id/email   { to: "수신@이메일" }  → 제안서 PDF 첨부 발송
POST /api/contracts/:id/email   { to: "수신@이메일" }  → 계약서 PDF 첨부 발송

  • HTML 이메일 본문 (회사 정보, 문서 요약)
  • PDF 자동 첨부 (서버에서 Chrome Headless로 생성)
  • 활동 로그 자동 기록
UI: [이메일] 버튼 → prompt로 수신자 입력 → 발송.

환경변수:

  • CROWNY_SMTP_HOST (기본: 127.0.0.1)
  • CROWNY_SMTP_PORT (기본: 25)
  • CROWNY_SMTP_FROM (기본: avl@crowny.org)

테스트 결과

PDF 견적서:     OK (528KB, 5페이지)
PDF 제안서:     OK (8페이지)
PDF 계약서:     OK (3페이지)
CRM 웹훅:      OK (단계변경 + 활동이력 정상)
이메일 API:     OK (PDF 생성 + SMTP 연결 확인)
기존 기능:      OK (변경 없음)

추가된 API (6개)

MethodEndpoint설명
GET/api/quotes/:id/pdf견적서 PDF 직접 다운로드
GET/api/proposals/:id/pdf제안서 PDF 직접 다운로드
GET/api/contracts/:id/pdf계약서 PDF 직접 다운로드
POST/api/quotes/:id/email견적서 이메일 발송 (PDF 첨부)
POST/api/proposals/:id/email제안서 이메일 발송 (PDF 첨부)
POST/api/contracts/:id/email계약서 이메일 발송 (PDF 첨부)
POST/api/webhook/crmCRM → AVL 역방향 동기화 웹훅

파일

  • 서버: /Users/ef/crowny-avl/server.js (3155줄, +272줄)
  • UI: /Users/ef/crowny-avl/web/index.html (3041줄, +55줄)

누적 탭 (22개 — 변경 없음)

대시보드, 고객관리, 프로젝트, 견적생성, 큐시트, DMX맵, 오디오매트릭스, 패키지비교, 시그널플로우, 랙다이어그램, 실시간모니터, 장소목록, 장비현황, 프리셋, 스케줄, 유지보수, 시공사례, 시공현황, 파트너십, 제품카탈로그, 도입문의, 장비등록, 장소등록, 활동로그

7차 고도화 (2026-05-07)

��라우니디자인표준2026 적용

arch.crowny.org의 디자인 시스템을 AVL 관리 UI에 적용:

  • 색상 체계 전환: 보라(#8b5cf6) → 블루스틸(#4a90c8). 전체 palette arch.crowny.org 기준.
  • CSS 변수 정리: --panel, --panel-2, --text-2--surface, --surface2, --text3
  • 컴포��트: 카드/버튼/테이블/폼 모두 --radius, --transition, --shadow 통일
  • 헤더: sticky + blur + saturate (arch 표준 네비게이션)
  • 카드 hover: translateY(-1px) + border-light
  • 폼 입력: 더 큰 패딩, focus시 accent-dark
  • 히어로: grid 배경 + radial gradient (arch 패턴)

DB 미연동 수정

도입문의 탭이 /api/venues에 데이터를 넣고 있었음 → /api/leads 연동으로 수정.

  • CRM 파이프라인에 자동 진입
  • crm.crowny.org + network.crowny.org 자동 푸시
  • 이메일 필드 추가

잔여 이슈

  • 모두 해결 완료. 추가 확장 가능 사항:
  • SMTP 인증(AUTH LOGIN/PLAIN) 필요 시 환경변수 추가
  • CRM → AVL 웹훅을 crm.crowny.org 서버에서 호출하도록 설정
  • 이메일 발송 이력 조회 API
  • 실시간 모니터: 현재 시뮬레이션 → 실제 Dante/AES67 장비 연동 시 교체