프로젝트 배경
1) 문제점 - Redis Pub/Sub과 NestJS WebSocket Gateway 연동 시 Gateway 인스턴스 생명주기와 Redis 구독 이벤트 루프 간 충돌을 방지하기 위해 OnModuleInit 훅에서 구독을 초기화하는 패턴을 적용했다. - PostgreSQL 한국어 Full-Text Search에서 기본 설정이 영어 형태소 기반이어서 pg_catalog.simple 설정과 커스텀 사전을 별도
프로젝트 성과
Redis Pub/Sub WebSocket 다중 인스턴스 실시간 입찰 아키텍처 설계
NestJS WebSocket Gateway와 Redis Pub/Sub을 연동하여 수평 확장 시에도 모든 클라이언트가 동일한 입찰 이벤트를 수신하는 실시간 브로드캐스트 구조를 구현했다.
PostgreSQL Full-Text Search 행사 아카이브 검색 구현
외부 검색 엔진 없이 PostgreSQL tsvector를 적용하여 행사 유형·키워드 기반 아카이브 전문 검색 구조를 설계·구현했다.
Redis Sorted Set 파트너 랭킹 캐싱 레이어 설계
파트너 리뷰 집계·랭킹 쿼리를 Redis Sorted Set으로 캐싱하는 레이어를 설계하여 리뷰 데이터가 쌓여도 DB 직접 조회를 최소화하는 아키텍처를 구현했다.
OpenAI Function Calling 챗봇 에이전트 구현
GPT-4o Function Calling을 적용하여 챗봇이 사용자 요청에 따라 견적 계산·파트너 조회 내부 API를 직접 호출하는 에이전트 구조를 설계했다.
NestJS Guard 기반 멀티테넌시 컨텍스트 주입 구현
테넌트 식별·권한 체크를 NestJS Guard + Custom Decorator로 미들웨어 레벨에서 처리하여 비즈니스 로직에서 테넌트 컨텍스트가 분리된 구조를 구축했다.
핵심 기능
진행 단계
아키텍처 & 멀티테넌시 설계
2025.11.
NestJS 모듈 분리·테넌트 Guard 패턴·Redis Pub/Sub 토폴로지 설계, TypeORM 엔티티 20개 정의
프로젝트 상세
1) 포트폴리오 소개 행사 기획·파트너 매칭·아카이브를 하나로 통합한 종합 행사 운영 SaaS 플랫폼으로, WebSocket 실시간 입찰·행사 일정 캘린더·파트너 포트폴리오·리뷰 시스템을 포함한 확장 기능을 NestJS + Redis 아키텍처로 설계·구현했다. 2) 작업 범위 - 실시간 입찰 현황 대시보드: 파트너사의 입찰 제안이 실시간으로 대시보드에 나타나며, 입찰 경쟁 현황·마감 카운트다운·자동








