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로 생성)
- 활동 로그 자동 기록
환경변수:
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개)
| Method | Endpoint | 설명 |
|---|---|---|
| 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/crm | CRM → 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 자동 푸시
- 이메일 필드 추가