← 포트폴리오 목록

AI 주거 공조 시공 매칭 고객 웹

본 프로젝트의 요구사항(AI 청약 예측 연동, 단지·평면도 기반 자동설계 견적, AI 상담 챗봇, 상담 신청과 내역 조회)을 기반으로 직접 구현한 프로젝트입니다.

프로젝트 납품 요약

아래 프로젝트 개요와 핵심 기능에서 구현 화면을 확인할 수 있습니다.

서비스 타입Web
업종AI 서비스
기술 스택
ReactTypeScriptTailwind CSSRechartsNode.jsExpressPostgreSQLPrismaOAuth2
주요 기능
  • 청약 가점·분양가 예측
  • 단지 검색·자동설계 견적
  • AI 상담 챗봇
  • 상담 신청·마이페이지

프로젝트 개요

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

본 프로젝트의 요구사항(AI 청약 예측 연동, 단지·평면도 기반 자동설계 견적, AI 상담 챗봇, 상담 신청과 내역 조회)을 기반으로 직접 구현한 프로젝트입니다. 외부 AI 모듈 3종의 호출 결과를 시각화하고 로딩과 에러 상태를 공통 처리하는 구조를 React와 Express 기반으로 설계했습니다.

작업 범위

  • 청약 가점·분양가 예측: 회원가입과 소셜 로그인 후 청약 정보를 입력하면 AI 모듈이 계산한 예상 가점과 분양가 예측 결과를 카드와 차트로 보여줍니다
  • 단지 검색·자동설계 견적: 단지, 동, 호수를 검색해 평면도를 불러오고 시공할 방을 선택하면 자동설계 AI가 예상 견적과 맞춤 패키지를 제안합니다
  • AI 상담 챗봇: 상담 에이전트 API와 연결된 챗봇에서 시공 관련 질문을 주고받고, 응답 대기와 실패 상황도 대화 화면 안에서 안내합니다
  • 상담 신청·마이페이지: 견적 결과를 확인한 고객이 이름, 연락처, 현장 사진을 입력해 시공 상담을 신청하고 마이페이지에서 견적과 상담 내역을 조회합니다

주요 업무

  • 청약 가점·분양가 예측 화면: 약관 동의를 포함한 가입 흐름과 청약 AI 모듈 API 호출을 서버 프록시로 연결하고, 응답 스키마를 검증해 시각화 컴포넌트에 전달하는 구조를 반영합니다
  • 단지 검색·자동설계 견적 화면: 단지 검색 결과에서 평면도 데이터를 조회하고, 선택한 공간 정보를 자동설계 API 입력으로 변환해 견적 결과 화면에 연결하는 구조를 반영합니다
  • AI 상담 챗봇 화면: 메시지 송수신을 서버를 거쳐 상담 에이전트 API로 전달하고, 3종 AI 호출에 공통으로 쓰는 로딩·타임아웃·에러 처리 계층을 적용하는 구조를 반영합니다
  • 상담 신청·마이페이지 화면: 상담 신청 데이터를 DB에 저장하고 사진은 오브젝트 스토리지에 업로드하며, 회원 본인의 견적과 신청 내역만 조회하는 구조를 반영합니다
AI 주거 공조 시공 매칭 고객 웹
요구사항 정의

프로젝트 핵심 과제

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

AI 모듈 3종 API가 개발 단계이므로 명세와 응답 스키마가 바뀔 수

어댑터 계층과 스키마 검증으로 변경 범위를 줄일 계획입니다

단지·동·호 평면도 DB의 형태와 규모가 확정되지 않아 조회 인터페이스를 분리하고 표준 평면도 모델로 변환하는 구조를 먼저 설계할 계획입니다

AI 응답 지연과 타임아웃이 잦을 수 있어 호출별 제한 시간과 재시도 정책

사용자 안내 문구를 공통 계층에서 관리합니다

소셜 로그인 제공사와 앱 등록 정보가 정해지지 않아 인증 제공사를 설정값으로 분리하는 구조를 마련할 계획입니다

기존 프론트엔드 소스를 활용하는 방식을 고려해 화면과 데이터 계층을 분리하고 API 계약 문서를 먼저 정리할 계획입니다

구현 내용

핵심 기능 상세

핵심 기능 1

청약 가점·분양가 예측

회원가입과 소셜 로그인 후 청약 정보를 입력하면 AI 모듈이 계산한 예상 가점과 분양가 예측 결과를 카드와 차트로 보여줍니다.

  • OAuth2 소셜 로그인과 JWT 세션을 결합하고 약관 동의 이력을 별도 테이블에 저장하는 가입 흐름 설계
  • 외부 청약 AI API를 서버 프록시로 감싸 키 노출을 막고 응답 스키마를 런타임 검증하는 구조 구현
  • 가점 항목별 점수와 분양가 구간을 Recharts 막대·범위 차트로 표현하는 결과 컴포넌트 설계

외부 AI 모듈의 응답 스키마가 바뀌어도 어댑터 계층만 수정하면 되도록 검증과 변환 단계를 분리해 설계합니다.

청약 가점·분양가 예측
청약 가점·분양가 예측 실제 화면
핵심 기능 2

단지 검색·자동설계 견적

단지, 동, 호수를 검색해 평면도를 불러오고 시공할 방을 선택하면 자동설계 AI가 예상 견적과 맞춤 패키지를 제안합니다.

  • 단지·동·호 3단계 자동완성 검색을 디바운스 요청과 React Query 캐시로 구성
  • SVG 평면도 위에서 방 영역을 선택하고 선택 결과를 자동설계 API 요청 모델로 변환하는 매핑 구현
  • 견적 결과를 패키지 카드와 항목별 내역표로 나눠 보여주는 결과 화면 설계

평면도 DB의 제공 형태가 확정되지 않은 상황을 고려해 평면도 조회를 어댑터로 분리하고 선택 영역 좌표를 표준 모델로 저장합니다.

단지 검색·자동설계 견적
단지 검색·자동설계 견적 실제 화면
핵심 기능 3

AI 상담 챗봇

상담 에이전트 API와 연결된 챗봇에서 시공 관련 질문을 주고받고, 응답 대기와 실패 상황도 대화 화면 안에서 안내합니다.

  • AI 호출 공통 훅에서 로딩, 타임아웃, 재시도, 오류 분류 상태를 일괄 관리하는 구조 구현
  • 메시지 전송 시 낙관적 표시와 실패 메시지 재전송 버튼을 제공하는 대화 목록 설계
  • 대화 이력을 세션 단위로 저장해 마이페이지와 연결하는 데이터 모델 설계

청약, 자동설계, 챗봇 호출이 같은 예외 처리 계층을 공유하도록 설계해 화면마다 다른 에러 표현이 생기지 않게 합니다.

AI 상담 챗봇
AI 상담 챗봇 실제 화면
핵심 기능 4

상담 신청·마이페이지

견적 결과를 확인한 고객이 이름, 연락처, 현장 사진을 입력해 시공 상담을 신청하고 마이페이지에서 견적과 상담 내역을 조회합니다.

  • 다중 이미지 업로드를 Multer와 서명 URL 방식으로 처리하고 파일 형식과 용량을 서버에서 검증
  • 신청 폼 입력값을 Zod 스키마로 검증하고 견적 결과 식별자와 함께 트랜잭션으로 저장
  • 회원 식별자 조건으로 견적·상담 내역을 필터링하는 본인 데이터 조회 API 설계

견적 결과, 상담 신청, 업로드 사진을 하나의 신청 건으로 묶어 저장해 관리자 화면과 마이페이지가 같은 데이터를 참조하도록 설계합니다.

상담 신청·마이페이지
상담 신청·마이페이지 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

AI 모듈 연동 명세 분석 및 어댑터 설계 · 2026.10

청약·자동설계·상담 챗봇 API 응답 스키마 분석, 서버 프록시와 어댑터 계층 구조 정의

STEP 2

가입·인증 및 청약 예측 화면 구현 · 2026.10

약관 동의, 소셜 로그인, JWT 세션과 청약 입력·결과 차트 화면을 구현

STEP 3

단지 검색·평면도·견적 흐름 구현 · 2026.10

단지·동·호 검색, SVG 평면도 방 선택, 자동설계 견적 결과 화면 구현

STEP 4

챗봇·상담 신청 구현 및 설계 문서 정리 · 2026.10

공통 로딩·에러 계층, 챗봇, 사진 업로드 상담 신청, 내역 조회 구현과 DB·인프라 설계 문서 정리

개발 결과

외부 AI 모듈 3종 어댑터 계층 설계서버 프록시와 응답 스키마 검증 계층을 두어 키 노출을 막고 명세 변경 시 수정 범위를 어댑터로 한정합니다.
AI 호출 공통 로딩·에러 처리 구조 구현공통 훅으로 로딩, 타임아웃, 재시도, 오류 분류를 일괄 관리해 세 화면의 예외 표현을 통일합니다.
SVG 평면도 방 선택 UI 구현방 영역 좌표를 표준 모델로 저장하고 선택 결과를 자동설계 요청으로 변환하는 매핑 구조를 구현합니다.
견적·상담·사진 묶음 저장 구조 구축견적 결과, 상담 신청, 업로드 사진을 하나의 신청 건으로 묶어 트랜잭션으로 저장하는 구조를 구축합니다.

기술적 주안점

  • 외부 AI 모듈의 응답 스키마가 바뀌어도 어댑터 계층만 수정하면 되도록 검증과 변환 단계를 분리해 설계합니다
  • 평면도 DB의 제공 형태가 확정되지 않은 상황을 고려해 평면도 조회를 어댑터로 분리하고 선택 영역 좌표를 표준 모델로 저장합니다
  • 청약, 자동설계, 챗봇 호출이 같은 예외 처리 계층을 공유하도록 설계해 화면마다 다른 에러 표현이 생기지 않게 합니다

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

필요한 기능과 일정을 알려주시면 개발 범위를 함께 정리하겠습니다.

프로젝트 문의