크라우니 컴파스(Compass) 엔진 완성 (2026-04-17)
개요
"크라우니 컴파스" — 각 솔루션을 어느 부서 누구에게 보낼지 알려주는 나침반.
62,892 기관 DB와 9개 솔루션의 (솔루션 × 기관유형) 매핑으로 우선순위 연락 리스트를 생성.
무엇을 했는지
compass.js — 컴파스 매핑 엔진
9 솔루션 × 3 기관유형 = 27개 매핑 엔트리
QUAKEON · 통합플랫폼(시도/시군구) · 재난경보 · 화재경보 · 보안 · 통합제어 · 미디어 · SW패키지
각각: 학교 / 관공서 / 공사 → 부서후보[] + 직책후보[] + 적합도(0~100)
기관유형별 미세조정 (refineByType):
소방서 → 예방안전과 / 경찰서 → 생활안전과 / 보건소 → 보건위생과
교육지원청 → 초등교육과 / 대학교 → 시설관리처·전산정보처
시청·구청 → 부시장·부구청장 추가 / 주민센터 → 동장·면장
유치원 → 원장·부원장우선순위 점수 계산 (priority)
priority = 적합도(fit)
+ 등급가중 (A=+25, B=+10, C=0)
+ 지역가중 (수도권=+10, 광역시=+5)
- 이미접촉 페널티 (-15)
API 엔드포인트
GET /api/compass/solutions — 9솔루션 + 전체 매칭 통계
GET /api/compass/org/:orgId — 기관별 전 솔루션 추천 (전체 DB 1:1 연결)
GET /api/compass/targets?solution=X®ion=Y&limit=N — 우선순위 타겟 랭킹
POST /api/compass/promote-batch — 체크 기관 일괄 리드 승격 (+13맘×N)
UI (🧭 컴파스 탭)
- 솔루션 셀렉터 → 지역/유형 필터 → "컴파스 실행"
- 우선순위 테이블: 순위·기관명·전화·유형·지역·등급·부서·직책·점수
- 체크박스 일괄 선택 → "일괄 리드 승격" → 파트너 자동배정 + 보상
- 기관 "상세" → 전 솔루션별 부서/직책 → 화살표 우선순위 표시
- 솔루션별 매칭 통계 사이드바
전체 리스트 연결 확인
- 컴파스 결과의
orgId = 62,892 전체 DB의 org.id (동일 키)
- 컴파스에서 "리드 승격" → 기관 stage='assigned' → 기관 DB 탭에서 반영
- 컴파스 "이미 접촉 제외" 체크 → 중복 방지
실테스트
서울시청 전 솔루션 컴파스
[133] 재난예경보 통합플랫폼 (시도)
→ 부서: 재난안전과 → 재난안전상황실 → 안전총괄과
→ 직책: 재난안전과장 → 상황실장 → 안전정책관
[130] QUAKEON-7000
→ 부서: 재난안전과 → 안전총괄과 → 시설과
→ 직책: 재난안전과장 → 안전총괄과장 → 시설과장
[130] 보안모듈솔루션
→ 부서: 정보통신과 → 정보보안과 → 전산정보팀
→ 직책: 정보통신과장 → CISO → 전산정보팀장
보안솔루션 경기 Top 3
[133] 군포시 시설관리공단 → CISO, 정보보안팀장
[133] 안양시 시설관리공단 → CISO, 정보보안팀장
관련 파일
/Users/ef/crowny-network/compass.js (매핑 엔진 모듈)
/Users/ef/crowny-network/server.js (API 라우트)
/Users/ef/crowny-network/web/index.html (UI 6탭)
잔여 이슈
- 실 담당자 이름/전화 데이터 (수작업 or 스크래핑 필요)
- 교육부 예산편성 시기별 타이밍 가중치
- 솔루션 번들 추천 (재난+화재+보안 패키지 → 할인)
- 컴파스 적합도 A/B 테스트 (실 영업 결과 피드백 반영)