← 포트폴리오 목록

마그네틱 시스템 행거 3D 구성 도구

구성 형태 A~D와 가로 길이 3종 선택, 드래그 앤 드롭 일렬 연결, 부품 수량·봉 공유 계산, 소비자 견적, 조명·전원 연결 검증과 100W 제한을 한 화면에 담은 행거 구성 도구를 제안합니다.

프로젝트 납품 요약

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

서비스 타입Web
업종플랫폼
기술 스택
React 18TypeScriptTailwind CSSReact Three FiberZustandNode.js + ExpressPostgreSQL + PrismaVitest
주요 기능
  • 행거 구성하기 — 형태·길이·드래그 배치
  • 부품·견적 자동 산출 — 봉 공유 반영
  • 조명·전원 검증 — 100W 제한
  • 구성 저장·임베드 — 아임웹 대응

프로젝트 개요

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

구성 형태 A~D와 가로 길이 3종 선택, 드래그 앤 드롭 일렬 연결, 부품 수량·봉 공유 계산, 소비자 견적, 조명·전원 연결 검증과 100W 제한을 한 화면에 담은 행거 구성 도구를 제안합니다. 데모 화면은 등각 투영 SVG로 3차원 구성을 표현하며, 본 개발에서는 React Three Fiber 장면과 아임웹 iframe 임베드로 확장하는 구조를 설계합니다.

작업 범위

  • 행거 구성하기 — 형태·길이·드래그 배치: 첫 화면에서 구성 형태 A~D와 가로 길이 3종을 고르면 등각 투영 장면이 바뀌고, 옆 모듈을 끌어 일렬로 이어 붙이면 부품 목록과 견적이 즉시 함께 움직입니다
  • 부품·견적 자동 산출 — 봉 공유 반영: 구성에 따라 기둥·커넥터·봉 등 부품 종류별 수량을 규칙으로 계산하고, 연결 시 봉을 공유하는 구조를 반영해 단독 사용 대비 수량 차이와 소비자 견적가를 함께 보여줍니다
  • 조명·전원 검증 — 100W 제한: 행거봉을 대체하는 조명 등기구를 고르고 전선 있는 봉·커넥터를 구분해 쓰면, 전선 부품이 끊김 없이 이어지는지와 천장 부착 발 부품의 전원 시작점을 확인합니다. 등기구 합계가 100W를 넘으면 안내와 함께 차단합니다
  • 구성 저장·임베드 — 아임웹 대응: 완성한 구성을 이름과 함께 저장하고 부품 목록·견적과 함께 문의로 보낼 수 있습니다. 운영 사이트 아임웹에는 iframe 임베드로 넣거나 별도 링크 페이지로 배포하는 두 경로를 모두 대응합니다

주요 업무

  • 행거 구성하기 — 형태·길이·드래그 배치 화면: 구성 상태를 단일 스토어에 두고 장면·부품 목록·견적이 같은 상태를 구독하는 구조로 구현합니다
  • 부품·견적 자동 산출 — 봉 공유 반영 화면: 수량 계산 규칙을 순수 함수와 규칙 테이블로 분리하고 단위 테스트로 형태·길이·연결 조합을 고정합니다
  • 조명·전원 검증 — 100W 제한 화면: 부품 연결을 그래프로 모델링해 전선 있는 노드의 연결 여부와 전원 시작점 도달 여부를 검사합니다
  • 구성 저장·임베드 — 아임웹 대응 화면: 구성 직렬화 형식을 정의하고 임베드 환경에서 높이 조절 메시지를 주고받는 구조를 설계합니다
마그네틱 시스템 행거 3D 구성 도구
요구사항 정의

프로젝트 핵심 과제

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

부품 조합과 수량 규칙이 클라이언트와 함께 확정되는 구조라

규칙을 코드가 아닌 버전이 있는 데이터로 분리해 변경 범위를 줄일 계획입니다

외부 업체에서 오는 CAD 3D 파일의 수령 일정이 불확실해

임시 박스 자산으로 먼저 개발하고 자산 매핑만 교체하는 구조로 대응합니다

봉 공유가 있는 일렬 연결에서 양 끝 모듈과 중간 모듈의 부품 수가 달라지는 경계 조건을 케이스 표 테스트로 고정할 계획입니다

아임웹 임베드 방식이 미정이라

같은 빌드를 iframe과 별도 링크 페이지로 모두 배포할 수 있게 설계하고 높이 메시지 규약을 둘 계획입니다

구현 내용

핵심 기능 상세

핵심 기능 1

행거 구성하기 — 형태·길이·드래그 배치

첫 화면에서 구성 형태 A~D와 가로 길이 3종을 고르면 등각 투영 장면이 바뀌고, 옆 모듈을 끌어 일렬로 이어 붙이면 부품 목록과 견적이 즉시 함께 움직입니다.

  • Zustand 스토어에 구성 형태·길이·연결 순서를 보관하고 장면·목록·견적이 같은 상태를 구독
  • 고정 규격 3종 안에서만 배치되도록 드롭 위치를 스냅하는 제약 로직 설계
  • React Three Fiber 장면 구성을 본 개발 스택으로 두고 데모는 등각 투영 SVG로 표현

드래그로 이어 붙인 결과가 3D 장면과 부품 목록에 동시에 반영되는 단방향 상태 흐름을 설계합니다. 규격 밖 배치는 드롭 단계에서 차단합니다.

행거 구성하기 — 형태·길이·드래그 배치
행거 구성하기 — 형태·길이·드래그 배치 실제 화면
핵심 기능 2

부품·견적 자동 산출 — 봉 공유 반영

구성에 따라 기둥·커넥터·봉 등 부품 종류별 수량을 규칙으로 계산하고, 연결 시 봉을 공유하는 구조를 반영해 단독 사용 대비 수량 차이와 소비자 견적가를 함께 보여줍니다.

  • 수량 계산을 형태·길이·연결 상태를 입력으로 받는 순수 함수로 분리하고 Vitest 케이스 표로 검증
  • 연결 구간마다 공유되는 봉을 한 번만 세는 규칙을 별도 모듈로 구현
  • 부품 단가 테이블과 수량을 곱해 소비자 견적 명세를 산출하는 견적 모듈 설계

단독 구성 대비 연결 구성의 부품 수량 차이를 표로 비교해 보여주는 계산 구조를 구현합니다. 규칙은 코드가 아니라 데이터로 두어 수정 범위를 줄입니다.

부품·견적 자동 산출 — 봉 공유 반영
부품·견적 자동 산출 — 봉 공유 반영 실제 화면
핵심 기능 3

조명·전원 검증 — 100W 제한

행거봉을 대체하는 조명 등기구를 고르고 전선 있는 봉·커넥터를 구분해 쓰면, 전선 부품이 끊김 없이 이어지는지와 천장 부착 발 부품의 전원 시작점을 확인합니다.

  • 부품을 노드, 연결부를 간선으로 둔 그래프에서 전선 있는 노드만 탐색해 연결 여부 검사
  • 천장 부착 발 부품 중 하나를 전원 시작점으로 지정하고 도달 가능성을 너비 우선 탐색으로 확인
  • 등기구 용량 합계가 100W를 넘는 선택을 차단하고 초과분 안내 문구를 표시하는 검증 모듈

전선 있음·없음 구분이 부품 목록과 가격에도 함께 반영되도록 같은 부품 데이터를 사용합니다. 검증 결과는 끊긴 위치를 장면에서 표시합니다.

조명·전원 검증 — 100W 제한
조명·전원 검증 — 100W 제한 실제 화면
핵심 기능 4

구성 저장·임베드 — 아임웹 대응

완성한 구성을 이름과 함께 저장하고 부품 목록·견적과 함께 문의로 보낼 수 있습니다. 운영 사이트 아임웹에는 iframe 임베드로 넣거나 별도 링크 페이지로 배포하는 두 경로를 모두 대응합니다.

  • 구성 상태를 버전 필드가 있는 JSON으로 직렬화해 저장·불러오기·공유 링크에 같이 사용
  • iframe 임베드 시 부모 창과 postMessage로 높이를 맞추는 임베드 어댑터 설계
  • 임베드가 막힌 환경에서는 동일 앱을 별도 링크 페이지로 배포하는 이중 배포 구성

같은 빌드를 임베드와 단독 페이지에서 모두 쓰도록 설계해 아임웹 적용 방식이 정해지지 않은 상태에서도 개발을 먼저 시작할 수 있습니다.

구성 저장·임베드 — 아임웹 대응
구성 저장·임베드 — 아임웹 대응 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

계산 규칙 정리와 부품 데이터 모델링 · 2026.10

형태·길이·연결별 수량 규칙을 표로 정리하고 부품 마스터 테이블과 규칙 테이블을 PostgreSQL에 설계

STEP 2

수량·견적·전원 검증 모듈 구현 · 2026.10

봉 공유 수량 계산, 견적 산출, 전선 연결 그래프 검사, 100W 제한 로직을 순수 함수로 구현하고 Vitest 케이스 표 작성

STEP 3

구성 화면과 3D 장면 개발 · 2026.10

React Three Fiber 장면, 드래그 앤 드롭 스냅 배치, 부품 색 구분과 임시 박스 자산 적용

STEP 4

CAD 자산 적용과 아임웹 임베드 · 2026.10

수령한 CAD 파일을 glTF 경량 포맷으로 변환해 교체하고 iframe 임베드 어댑터와 별도 링크 배포 구성

개발 결과

봉 공유 수량 계산 엔진 설계연결 구간의 공유 봉을 한 번만 세는 규칙 모듈을 구현하고 형태·길이·연결 조합 케이스 표로 검증하는 구조 설계
전선 연결 그래프 검증기 구현부품을 노드로 둔 그래프에서 전선 있는 부품의 연결과 전원 시작점 도달 여부를 탐색하는 검증 모듈 구현
단일 상태 기반 장면·목록 동기화Zustand 스토어 하나로 3D 장면, 부품 목록, 견적이 같은 구성 상태를 구독하는 단방향 흐름 구축
임시 박스 자산 선행 개발 구조 설계부품 ID별 자산 매핑 테이블로 임시 박스를 CAD 변환 glTF로 교체해도 화면 코드가 바뀌지 않도록 설계

기술적 주안점

  • 드래그로 이어 붙인 결과가 3D 장면과 부품 목록에 동시에 반영되는 단방향 상태 흐름을 설계합니다. 규격 밖 배치는 드롭 단계에서 차단합니다
  • 단독 구성 대비 연결 구성의 부품 수량 차이를 표로 비교해 보여주는 계산 구조를 구현합니다. 규칙은 코드가 아니라 데이터로 두어 수정 범위를 줄입니다
  • 전선 있음·없음 구분이 부품 목록과 가격에도 함께 반영되도록 같은 부품 데이터를 사용합니다. 검증 결과는 끊긴 위치를 장면에서 표시합니다

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

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

프로젝트 문의