프로젝트 배경
1) 문제점 - 다중 현장의 고객 문의 데이터를 통합 분석할 때 siteId 멀티 테넌시 격리와 크로스 현장 집계 쿼리 간 충돌을 TypeORM QueryBuilder 동적 스코프 전환으로 해결하는 구조 설계 필요 - PostgreSQL Materialized View 3개의 증분 갱신 시점을 NestJS Cron 스케줄과 동기화하면서 갱신 중 대시보드 조회 요청이 stale 데이터를 반환하지 않도록 Re
프로젝트 성과
siteId 기반 멀티 테넌시 데이터 격리 아키텍처 설계
NestJS Module 격리 패턴으로 현장별 데이터를 siteId 기준으로 완전 분리하고, TypeORM Global Scope으로 모든 쿼리에 자동 현장 필터를 적용하는 멀티 테넌시 구조 구축
PostgreSQL CTE 기반 다중 현장 고객 중복 매칭 구현
전체 현장 통합 고객 DB에서 연락처 기반 중복 고객을 CTE + Window Function으로 자동 매칭하고, 현장 간 관심 이력을 연계 조회하여 고객 여정을 통합 추적하는 쿼리 아키텍처 설계
Materialized View 3단계 마케팅 집계 파이프라인 구축
일별·주별·월별 3개 Materialized View로 채널별 문의 건수와 비용 집계를 사전 산출하고, REFRESH CONCURRENTLY로 서비스 중단 없이 증분 갱신하는 집계 파이프라인 설계
NestJS WebSocket + Cron 실시간·배치 이중 데이터 흐름 구현
WebSocket Gateway로 신규 문의를 실시간 푸시하면서, @Cron 스케줄러로 주간 마케팅 집계를 배치 처리하는 이중 데이터 흐름 구조를 설계하여 즉시성과 효율성을 동시 확보
ResizeObserver 마스터-디테일 분할 워크스페이스 구현
CSS Grid + ResizeObserver로 드래그 분할 비율 조정 패널을 구현하고, 좌측 현장 목록 선택 시 우측 KPI·차트·피드가 독립 React Query 캐시 키로 연동되는 워크스페이스 설계
핵심 기능
진행 단계
다중 현장 도메인 모델링 및 NestJS 모듈 아키텍처 설계
2025.12.
현장·문의·고객·마케팅 채널 4개 도메인을 NestJS 독립 모듈로 분리, TypeORM 엔티티 12개 테이블 및 siteId 기반 멀티 테넌시 데이터 격리 구조 설계
프로젝트 상세
1) 포트폴리오 소개 다수 분양 현장을 통합 관리하는 마케팅 플랫폼을 설계·구현한 프로젝트입니다. 현장별 홍보페이지 관리, 고객 문의 DB 통합 분석 대시보드, 유입 경로별 마케팅 성과 추적, 현장 간 고객 DB 연계 분석을 포함한 풀스택 시스템을 Node.js + NestJS + PostgreSQL + Redis + TypeORM 기반으로 구축했습니다. 2) 작업 범위 - 통합 워크스페이스: 마스터







