crm.crowny.org v2.0 업그레이드
개요
CRM v1.0 → v2.0 대규모 업그레이드. network.crowny.org, enterprise.crowny.org, project.crowny.org, core.crowny.org 4개 사이트를 참고하여 기능 확장.
추가 기능
1. 7단계 파이프라인 (network.crowny.org 참고)
- 리드 → 적격 → 기회 → 제안 → 협상 → 성사 → 실패
- 칸반 보드 UI (7컬럼, 클릭으로 스테이지 이동)
- 파이프라인 요약 바 (색상별 비율)
- API:
GET /api/pipeline, POST /api/customers/:id/stage
2. 활동/태스크 관리 (enterprise.crowny.org 참고)
- 5종 활동: 전화, 이메일, 미팅, 태스크, 노트
- 마감일, 우선순위(일반/긴급/최우선), 완료 처리
- 예정 활동 대시보드 (7일 내)
- API:
GET/POST /api/activities, POST /api/activities/:id/complete, GET /api/activities/upcoming
3. 딜/기회 추적 (enterprise.crowny.org CRM 참고)
- 금액, 확률, 단계, 예상 성사일 추적
- 성사/실패 처리 → 자동 매출 반영 + MAM 보상
- 딜 통계 (파이프라인 총액, 가중 기대값, 성공률)
- API:
GET/POST /api/deals, PUT /api/deals/:id, POST /api/deals/:id/close, GET /api/deals/stats
4. MAM/PHONE/CROWNY 리워드 (project.crowny.org 참고)
- 고객별 3종 지갑 (MAM, PHONE, CROWNY)
- 딜 성사 시 자동 MAM 지급 (금액/100만)
- 수동 지급/차감
- 고객 상세 모달에 리워드 탭 추가
- API:
GET /api/rewards/:id, POST /api/rewards/earn, POST /api/rewards/redeem
5. 감사 로그 (enterprise.crowny.org 참고)
- 모든 변경사항 자동 기록 (최대 5000건, 자동 트림)
- API:
GET /api/audit
6. 대시보드 v2
- 스탯 카드 6개 (총고객, VIP, 위험, 진행딜, 파이프라인, 성공률)
- 파이프라인 요약 (7단계 비율 바)
- 딜 현황 (파이프라인 총액, 가중값, 성사, 성공률)
- 예정 활동 (7일 내)
- 최근 활동 피드
- API:
GET /api/dashboard/v2
UI 탭 구조 (7탭)
- 대시보드 (파이프라인+딜+활동 통합)
- 파이프라인 (칸반 보드)
- 고객 (필터: 성향/출처/단계)
- 딜 (진행/종료 필터, 성사/실패 처리)
- 활동 (유형/상태 필터, 완료 처리)
- 12전략
- 강점모델
고객 상세 모달 (6탭)
- 전략 계획 (기존)
- 편집 (단계 필드 추가)
- 리스크 (기존)
- 타임라인 (활동 기반으로 개선)
- 딜 (해당 고객의 딜 목록)
- 리워드 (MAM/PHONE/CROWNY 지갑)
관련 파일
/Users/ef/crowny-crm/server.js — v2.0 서버 (1050줄)
/Users/ef/crowny-crm/web/index.html — v2.0 UI (730줄 JS)
/Users/ef/crowny-crm/서버.한선 — v2.0 한선씨 동반 (컴파일OK, VM OOM)
/Users/ef/crowny-crm/package.json — v2.0.0
API 엔드포인트 (v2.0 총 33개)
기존 (18개)
- Health, Stats, Strategies, Profiles, Playbook
- Customer CRUD, Plan, Contacts, Advance, Risk
- Export/CSV, Analyze-profile
- Sync (Asset/Network), Webhooks
- Strength-model, Seed, Reset
v2.0 추가 (15개)
- Pipeline (2): pipeline, customers/:id/stage
- Activities (3): activities, activities/:id/complete, activities/upcoming
- Deals (4): deals, deals/:id, deals/:id/close, deals/stats
- Rewards (3): rewards/:id, rewards/earn, rewards/redeem
- Audit (1): audit
- Dashboard v2 (1): dashboard/v2
참고 사이트 영향
| 기능 | 참고 사이트 | 적용 |
|---|
| 파이프라인 7단계 | network.crowny.org | 칸반 보드 |
| 활동/태스크 | enterprise.crowny.org | 5종 활동 CRUD |
| 딜/기회 | enterprise.crowny.org CRM | 금액+확률+성사 |
| 리워드 | project.crowny.org | MAM/PHONE/CROWNY |
| 감사로그 | enterprise.crowny.org | 전변경 기록 |
| 대시보드 | enterprise.crowny.org | KPI+피드 통합 |
Phase 2 — 상용화 (2026-05-02~03)
인증 시스템 추가
- SHA256+salt 비밀번호 해싱 (crowny-insurance 패턴 참고)
- Bearer 토큰 세션 (24시간 TTL, 파일 영속화)
- 회원가입/로그인/로그아웃/me 4개 엔드포인트
- 멀티유저 데이터 격리 (ownerId 기반)
- Rate limiting: 로그인 20/분, 회원가입 10/분
- 입력 검증: HTML 이스케이프, 길이 제한
- Body 크기 제한 2MB
Crowny 브랜드 UI 리디자인
- 다크(#0a0a12) → 크림/초콜릿/골드(#FFF8F0/#3D2B1F/#8B6914) 전환
- 로그인/회원가입 페이지 추가 (그라디언트 배경)
- 헤더: 초콜릿→크림 그라디언트, 골드 액센트
- 모든 카드/패널/테이블 크림/따뜻한 톤으로 변경
- 프로필 색상: T=골드, O=그린, A=오렌지, U=딤
게이트웨이 연동
- crm.crowny.org → gateway(8080) → CRM(9748) 라우팅 완료
- httpOnly 모드 추가 (HTTPS 리다이렉트 없이 HTTP 직접 프록시)
- publicHttps 443→8443 수정 (실제 포워딩 포트 반영)
- LaunchAgent 추가 (org.crowny.crm.plist, 자동시작+KeepAlive)
안정화
- 프로세스 시그널 핸들링 (SIGTERM, SIGINT → 데이터 저장)
- uncaughtException/unhandledRejection 핸들러
- 5분 주기 자동 저장 (DB + 세션)
- Rate limit 맵 자동 정리 (1분 주기)
보험 카탈로그 통합
- 33개사 (손보 13 + 생보 20) × 14 카테고리
- insurance.crowny.org의 catalog.json 직접 로드 (없으면 내장 fallback)
- API: /api/insurance/catalog, /api/insurance/companies, /api/insurance/categories
- UI: 보험 카탈로그 탭 — 필수/선택 카테고리, 회사 카드 (Tier별 색상)
- 필터: 전체/손보/생보/Tier1/2/3
로그인 UI 통일 (Crowny Standard)
- member.crowny.org/insurance.crowny.org 패턴 참고
- 다크 오버레이 (#0b0b14) + 카드 (#16162a) + 골드 액센트 (#C9A84C)
- ⟁ 심볼 아이콘, 그라디언트 로그인 버튼
- 데모 체험 버튼 (자동 회원가입 + 시드 데이터)
API 엔드포��트 (v2.0 총 40개)
- 기존 33개 + 인증 4개 + 보험 카탈로그 3개
접속 정보
- 내부: http://127.0.0.1:9748
- 외부: http://crm.crowny.org:8080
관련 파일 (업데이트)
/Users/ef/crowny-crm/server.js — v2.0 서버 (1380줄)
/Users/ef/crowny-crm/web/index.html — v2.0 UI (1110줄)
/Users/ef/crowny-crm/서버.한선 — v2.0 한선씨 동반
/Users/ef/crowny-crm/data/users.json — 사용자 DB
/Users/ef/crowny-crm/data/sessions.json — 세션 DB
/Users/ef/crowny-gateway/gateway.yaml — CRM httpOnly 설정
/Users/ef/crowny-gateway/lib/gateway.js — httpOnly 프록시 로직
/Users/ef/crowny-gateway/lib/config.js — httpOnly 속성 파싱
잔여 이슈
- 한선씨 VM OOM — 코드 크기가 VM 배열 한계 초과 (컴파일은 성공)
- WebSocket 실시간 업데이트 미구현 (다음 버전)
- HTTPS 접속: 라우터 8443 포트 포워딩 필요 (현재 HTTP만 외부 접근 가능)
- 보험 상품별 수수료율/커미션 트래킹 (추후)
- 모바일 칸반 세로 스크롤 개선 필요