← 포트폴리오 목록

리스세일즈 트래커

장기렌트·리스 영업 조직의 신규DB 배분부터 상담·오픈DB 재배정·계약/출고까지 전 과정을 덮어쓰기 없는 이력 구조 위에서 추적하는 맞춤 CRM 프로젝트입니다.

덮어쓰기 없는 고객 이력 구조 설계담당자 변경·상담·오픈DB 이력을 시간 기반으로 분리 저장하는 FK 스키마 설계, 최초 유입경로를 영구 보존하는 구조 구축
DB 자동/수동 배분 엔진 구현조건별 자동 배정 규칙과 수동 재배정 이력을 모두 기록하는 배분 엔진 설계, 타임스탬프 기반 감사 추적 구조 적용
오픈DB 조건부 자동 전환 로직 구축부재·미계약·미접촉 조건을 판별하는 자동 오픈 스케줄러 구현, 직원별 일일 획득 제한 카운터 설계
서비스 타입Web
업종데이터 분석
기술 스택
React 18 + TypeScriptTailwind CSSRechartsNode.js + ExpressPostgreSQL + PrismaJWT 인증Zustand
주요 기능
  • 실시간 통합 대시보드 — 오픈DB 추이·핵심지표·성과 위젯
  • 고객 이력 타임라인 — 덮어쓰기 없는 담당자·상담 이력 구조
  • DB 배분 및 오픈DB 자동 재배정
  • 상담-계약-출고 퍼널 추적
Overview

프로젝트 개요

범위: 개발, 디자인, 기획

장기렌트·리스 영업 조직의 신규DB 배분부터 상담·오픈DB 재배정·계약/출고까지 전 과정을 덮어쓰기 없는 이력 구조 위에서 추적하는 맞춤 CRM 프로젝트입니다. 대형 추이 차트와 핵심 지표를 한 화면에 배치한 관제형 대시보드를 중심으로 설계했습니다.

작업 범위

  • 실시간 통합 대시보드 — 오픈DB 추이·핵심지표·성과 위젯: 신규DB/상담/견적/계약/출고 건수와 오픈DB 현황을 대형 추이 차트와 핵심 지표 카드로 한눈에 파악할 수 있는 관제 화면입니다
  • 고객 이력 타임라인 — 덮어쓰기 없는 담당자·상담 이력 구조: 고객정보, 문의차량, 고유 Lead ID, 최초 유입경로부터 담당자 변경·상담·오픈DB 이력까지 시간순으로 누적 보존해 조회할 수 있는 화면입니다
  • DB 배분 및 오픈DB 자동 재배정: 신규 DB를 영업사원에게 자동/수동으로 배정하고, 부재·미계약 조건에 따라 오픈DB로 전환해 재배정하는 화면입니다
  • 상담-계약-출고 퍼널 추적: 상담 통화 결과(1/2/3차 부재 포함)부터 견적서 발송, 계약 진행, 출고 완료까지 단계별 상태를 추적하는 화면입니다

주요 업무

  • 실시간 통합 대시보드 — 오픈DB 추이·핵심지표·성과 위젯 화면: 대형 포커스 차트(hero-viz)와 우측 핵심지표(kpi-side), 하단 도넛·바·타임라인 위젯 그리드(widget-grid)로 구성하는 insight-board 컴포지션을 적용합니다
  • 고객 이력 타임라인 — 덮어쓰기 없는 담당자·상담 이력 구조 화면: 고객 테이블과 담당자변경이력/상담이력/오픈DB이력 테이블을 FK로 분리 설계해 원본 데이터를 덮어쓰지 않는 구조로 구현합니다
  • DB 배분 및 오픈DB 자동 재배정 화면: 배정 규칙 엔진과 조건부 자동 전환 스케줄러를 결합해 배정·재분배 전 과정을 타임스탬프와 함께 기록합니다
  • 상담-계약-출고 퍼널 추적 화면: 상담로그·계약·출고 테이블을 상태 머신으로 연결해 퍼널 전 구간의 전환을 추적합니다
리스세일즈 트래커
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

덮어쓰기 없는 이력 구조를 유지하면서 조회 성능을 확보하는 인덱싱 전략 설계

동일 고객이 여러 차례 재배정될 때 담당자 변경 시점을 정확히 추적하는 트랜잭션 설계

오픈DB 자동 전환 조건(부재/미계약/미접촉)의 경계 케이스를 판별하는 스케줄러 로직 설계

25명에서 50~100명으로 확장 가능한 DB 배분 부하를 고려한 동시성 제어 설계

구현 내용

핵심 기능 상세

핵심 기능 1

실시간 통합 대시보드 — 오픈DB 추이·핵심지표·성과 위젯

신규DB/상담/견적/계약/출고 건수와 오픈DB 현황을 대형 추이 차트와 핵심 지표 카드로 한눈에 파악할 수 있는 관제 화면입니다.

  • Recharts 영역 차트로 일별 신규DB·상담·계약 추이를 단일 포커스 뷰에 렌더링합니다
  • PostgreSQL Materialized View로 오픈DB·직원별 실적 지표를 사전 집계하는 조회 구조를 설계합니다
  • React Query staleTime 분리로 실시간성이 필요한 위젯과 정적 위젯의 캐싱 전략을 구분합니다

대형 추이 차트·핵심지표·위젯 그리드 3단 구조의 insight-board 컴포지션으로 영업 현황을 한 화면에서 파악할 수 있는 대시보드를 구현합니다.

실시간 통합 대시보드 — 오픈DB 추이·핵심지표·성과 위젯
실시간 통합 대시보드 — 오픈DB 추이·핵심지표·성과 위젯 실제 화면
핵심 기능 2

고객 이력 타임라인 — 덮어쓰기 없는 담당자·상담 이력 구조

고객정보, 문의차량, 고유 Lead ID, 최초 유입경로부터 담당자 변경·상담·오픈DB 이력까지 시간순으로 누적 보존해 조회할 수 있는 화면입니다.

  • 고객·담당자변경이력·상담이력·오픈DB이력 4개 테이블을 FK로 분리해 시간 기반 append-only 구조로 설계합니다
  • 최초 유입경로·최초 담당자 컬럼을 고정하고 현재 담당자는 이력 테이블 최신 레코드로 파생 조회합니다
  • 타임라인 UI에서 이벤트 타입별(배정/재배정/상담/계약) 아이콘과 색상 배지로 구분해 표시합니다

이력을 별도 테이블에 append-only로 누적하고 현재 상태는 뷰로 파생하는 구조를 설계해, 기존 CRM의 덮어쓰기 문제를 스키마 레벨에서 해결하는 구조를 구현합니다.

고객 이력 타임라인 — 덮어쓰기 없는 담당자·상담 이력 구조
고객 이력 타임라인 — 덮어쓰기 없는 담당자·상담 이력 구조 실제 화면
핵심 기능 3

DB 배분 및 오픈DB 자동 재배정

신규 DB를 영업사원에게 자동/수동으로 배정하고, 부재·미계약 조건에 따라 오픈DB로 전환해 재배정하는 화면입니다.

  • 직원별 일일 획득 제한과 자동 배정 규칙을 조합한 배분 엔진을 Node.js 스케줄러로 구현합니다
  • 부재/미계약/미접촉 조건을 판별하는 오픈DB 자동 전환 로직을 Cron 기반으로 설계합니다
  • 재배정 이력을 Pick 테이블에 순번과 함께 기록해 몇 번째 재배정에서 계약됐는지 추적할 수 있게 합니다

자동 배정 규칙과 조건부 오픈DB 전환 스케줄러를 결합해, 재배정 효율을 이력 데이터로 추적할 수 있는 배분 시스템을 구현합니다.

DB 배분 및 오픈DB 자동 재배정
DB 배분 및 오픈DB 자동 재배정 실제 화면
핵심 기능 4

상담-계약-출고 퍼널 추적

상담 통화 결과(1/2/3차 부재 포함)부터 견적서 발송, 계약 진행, 출고 완료까지 단계별 상태를 추적하는 화면입니다. 상담로그·계약·출고 테이블을 상태 머신으로 연결해 퍼널 전 구간의 전환을 추적합니다.

  • 상담 결과(통화성공/부재1차/부재2차/부재3차)를 상태값으로 관리하고 재통화 예약을 자동 큐잉합니다
  • 계약 상태 머신(진행/완료/취소)을 DB 레벨 제약으로 관리해 잘못된 상태 전이를 차단합니다
  • 출고대기/완료 상태와 계약취소 사유를 계약 이력 테이블에 함께 기록합니다

상담-계약-출고 전 구간을 상태 머신으로 연결해 각 단계 전환이 자동으로 기록되고 재통화가 자동 예약되는 워크플로우를 구현합니다.

상담-계약-출고 퍼널 추적
상담-계약-출고 퍼널 추적 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

요구사항 분석 및 이력 기반 DB 스키마 설계 · 2026.09

리스영업 프로세스 분석, 덮어쓰기 없는 고객 이력 구조를 위한 PostgreSQL 테이블 18개 정의 및 FK 관계 매핑

STEP 2

백엔드 API 및 DB 배분 로직 개발 · 2026.09

Express 기반 RESTful API 구현, DB 자동/수동 배분 및 오픈DB 재배정 로직 28여개 엔드포인트 구축

STEP 3

프론트엔드 대시보드 및 CRM 화면 개발 · 2026.09

React 기반 대시보드·고객이력·상담관리 등 16개 화면 구현, Recharts 차트 적용

STEP 4

통합 테스트 및 권한/이력 무결성 검증 · 2026.09

역할 기반 접근 제어 및 API-프론트엔드 통합 테스트, 이력 append-only 무결성 검증 시나리오 작성

프로젝트 성과

주요 성과

덮어쓰기 없는 고객 이력 구조 설계담당자 변경·상담·오픈DB 이력을 시간 기반으로 분리 저장하는 FK 스키마 설계, 최초 유입경로를 영구 보존하는 구조 구축
DB 자동/수동 배분 엔진 구현조건별 자동 배정 규칙과 수동 재배정 이력을 모두 기록하는 배분 엔진 설계, 타임스탬프 기반 감사 추적 구조 적용
오픈DB 조건부 자동 전환 로직 구축부재·미계약·미접촉 조건을 판별하는 자동 오픈 스케줄러 구현, 직원별 일일 획득 제한 카운터 설계
Highlights

기술적 주안점

  • 대형 추이 차트·핵심지표·위젯 그리드 3단 구조의 insight-board 컴포지션으로 영업 현황을 한 화면에서 파악할 수 있는 대시보드를 구현합니다
  • 이력을 별도 테이블에 append-only로 누적하고 현재 상태는 뷰로 파생하는 구조를 설계해, 기존 CRM의 덮어쓰기 문제를 스키마 레벨에서 해결하는 구조를 구현합니다
  • 자동 배정 규칙과 조건부 오픈DB 전환 스케줄러를 결합해, 재배정 효율을 이력 데이터로 추적할 수 있는 배분 시스템을 구현합니다

유사한 프로젝트를 기획하고 계신가요?

FIRSTPIP이 개발 범위와 로드맵을 함께 정리해드립니다

무료 상담 시작하기