프로젝트 목록으로
lumir-sar-platform
3+4 통합 (3 레이어 풀스택)

루미르 SAR 데이터 플랫폼

Sentinel + LumirX 검색·저장·분석·요청 통합 — 사내 위성 데이터 풀스택 서비스 (3 레이어)

통합 레이어
3 (저장·분석·프론트)
PSI 검출
5,143,119
검증된 침하
-17.30 mm/yr (GNSS)
AI 작성 코드
100% (AI native)
통합 아키텍처
통합 아키텍처
정방향 흐름응답·복귀외부 시스템

사용자 위치 요청이 프론트 → 저장 → 분석 레이어를 거쳐 결과로 돌아오는 흐름. 가운데 세로축(주황)이 정방향 요청, 오른쪽이 응답·결과 저장, 왼쪽이 외부 데이터 공급원. 한 사람이 3 레이어를 풀스택으로 묶고 있습니다.

화면 · 산출물
SAR 검색 UI (프론트 레이어)
프론트 레이어 — 지도 기반 SAR 검색 + AOI + 카탈로그
InSAR 시계열 (분석 레이어)
분석 레이어 — Control points 시계열 (65 epoch / 2.30 yr stack)
문제

Sentinel과 LumirX 위성 데이터를 사내에서 검색·저장·분석·요청까지 한 사이클로 처리할 통합 서비스가 부재했습니다. 데이터 저장(NAS+CDSE), InSAR 분석(SNAP·ISCE2·MintPy), 사용자 진입 프론트엔드가 각각 분리되어 있어 사용자가 위치 요청만으로 분석 결과까지 받기 어려운 구조였습니다.

시스템

3 레이어 통합 서비스를 본인이 단독으로 설계·구축하고 있습니다. **저장 레이어**(sar-data-retrieval, NestJS 모노레포 + CDSE + NAS PoC + DDD 5-layer) + **분석 레이어**(lumir-linux-snap, 5종 도구 다중 스택 + 다중 agent 워크트리) + **프론트 레이어**(sar-search-and-analyzer, Next.js + 지도 + AOI + 분석 요청 UI). 모두 AI native 100%로 진행하며, [[집비치기-him]]에서 검증한 4-Layer + CQRS + 한글 메서드명 패턴을 회사 백엔드 설계에 역전이 중입니다.

임팩트

ISCE2 도입으로 분석 처리 속도를 확보해 *날씨·계절 무관 지표 변위 데이터 서비스화*가 가능한 단계에 진입했습니다. 사용자가 지도에서 위치를 요청하면 저장된 분석 데이터를 즉시 제공하거나, 없으면 신규 처리 후 제공하는 흐름을 한 사람이 풀스택으로 묶고 있다는 점이 핵심입니다.

본인 기여

3 레이어 모든 코드 단독 (sar-data-retrieval 5개 영역 전부, lumir-linux-snap 도구 평가·운영, sar-search-and-analyzer apps/web 전부 + 백엔드 설계 문서). 통합 비전 설계 본인.

솔직성 메모 (면접용)

각 레이어의 일부 패턴은 외부 인계입니다 — Plan/Current 환경 분리(파트장)·일부 SAR 도메인 지식(AI 사고 파트너 도움). sar-search-and-analyzer 백엔드(apps/api·worker·crawler)는 CLAUDE.md 설계 문서 단계이며 실제 구현은 다음 Phase입니다.

면접 Q&A 준비

Q.3 레이어가 어떻게 한 서비스로 통합되나요?+
A.사용자가 sar-search-and-analyzer 지도에서 위치를 요청하면, sar-data-retrieval이 기존 분석 데이터를 조회하거나 lumir-linux-snap에 신규 분석을 요청합니다. 분석 결과는 다시 sar-data-retrieval에 저장되어 다음 요청 시 즉시 응답할 수 있습니다.
Q.한 사람이 3 레이어를 동시 운영할 수 있는 이유는?+
A.AI native 100% — 코드 작성은 AI, 본인은 UI 기획·코드 검토·통합 인터페이스 정합을 담당합니다. 또한 집비치기에서 검증한 4-Layer + CQRS + 한글 메서드명 패턴을 회사 백엔드 설계에 역전이해서 패턴 일관성을 유지합니다.
Q.각 레이어의 본인 기여와 외부 인계 영역은?+
A.저장(sar-data-retrieval): 5개 영역 전부 본인. 분석(lumir-linux-snap): SAR 도메인은 학부 수준이라 AI 사고 파트너 의존이 큼. 프론트(sar-search-and-analyzer): apps/web 전부 본인, Plan/Current 패턴은 파트장 인계.
Q.외부 노출이 있나요?+
A.현재 사내 운영. 향후 사업 보고서 v1~v4 + policy briefing PDF 같은 자료가 외부 발주처 대상으로 활용될 수 있습니다.
키워드
3 레이어 풀스택Sentinel-1 + LumirXNestJS + Next.jsISCE2 속도 확보다중 agent 워크트리지도 + AOIAI native 100%집비치기 패턴 역전이
📊 정량 측정 권장 (현재 미측정)
  • ·통합 완성 시점 (분석→저장→프론트 end-to-end)
  • ·사내 사용자 수
  • ·지원 위성 수 (현재 Sentinel-1 + LumirX 예정)
레이어별 깊이

3 레이어 각각 자세히

통합 박스가 묶은 각 레이어를 깊이 풀어 봅니다. 외부 검색·공유 시 깊은 링크가 도착하는 위치이기도 합니다.

🗄
저장 레이어
3+4(+5) 혼합/ sar-data-retrieval

Sentinel SAR 검색·분석 백엔드

NestJS 모노레포 + CDSE + NAS PoC + DDD 5-layer + snap 통합 (AI native)

DDD 계층
5-layer
통합 외부 시스템
CDSE + NAS
문제

기존에 존재하지 않는 날씨·계절 무관 지표 변위 데이터 제공 플랫폼 + Sentinel SAR 검색·다운로드·메타데이터 통합 백엔드가 필요했습니다. snap 처리 결과를 사용자 위치 검색 가능한 형태로 제공할 서비스 레이어도 필요했습니다.

시스템

NestJS 모노레포 (sentinel-retrieval + ai-processing) + CDSE API + NAS(SMB2 vs 직접 FS) PoC + SLC 도메인 모델링 + DDD 5-layer + snap 자매 레포 통합 레이어를 구축했습니다. AI native 진행으로 예측 보일러플레이트 시점만 도메인 구조를 일부 수정했습니다.

임팩트

3 레이어 통합 서비스의 데이터 저장 레이어를 담당합니다. 사용자 위치 요청에 분석 데이터를 즉시 제공하거나 신규 처리 후 제공할 수 있는 구조의 기초가 됩니다.

분석 레이어
3 → 4 + 5 신호/ lumir-linux-snap

Sentinel-1 InSAR 처리 파이프라인

5종 도구 다중 스택 + InSAR 결과 API(외부 플랫폼 전달) · 정부 공동 지표변위 모니터링

PSI 검출 PS
5,143,119
시루봉 침하 (GNSS 검증)
-17.30 mm/yr
도구 스택
5종 다중
응답 페이로드 최적화
81MB → 1.1MB (0.56s)
문제

정부 공공기관 공동 지표변위 모니터링 사업에서 SNAP 단독 파이프라인은 처리 속도 한계로 실시간 서비스화가 불가능했습니다. ASC 단독 SBAS의 LOS 1D 한계, 단일 건물 hot-spot 식별을 위한 최소 2 yr stack 요구도 풀어야 했습니다.

시스템

5종 도구 다중 스택 (SNAP 12 + SNAPHU 2.0.3 + MintPy 1.6.2 + StaMPS PSI + ISCE2 2.6.3)을 운영했습니다. 오버엔지니어링 방지 원칙 + AI 사고 파트너로 도구 평가 + 다중 Claude Code agent 워크트리 (agent 1~4 병렬 + gpt_isolated wrapper + handoff 시스템)를 갖췄습니다. 그 위에 처리 결과를 외부 3D 플랫폼으로 전달하는 FastAPI 운영 레이어(`/xyz/*` 시계열·`/aoi/assess`·`/baseline/perp`)를 직접 설계했고, 무거운 처리 전에 적합성을 초 단위로 진단하는 사전점검 엔드포인트 + 재부팅 자동기동(Docker)·디스크 풀 자동 이관(systemd 타이머)까지 운영 하드닝을 맡았습니다.

임팩트

ISCE2 도입으로 처리 속도를 확보해 3 레이어 통합 서비스의 분석 처리 레이어가 가능해졌습니다. 광교산 시루봉 -17.30 mm/yr (GNSS 검증) + PSI 5,143,119 PS + 5m DEM TC + 사업 보고서 v1~v4를 AI native로 작성 시간이 0에 가까웠습니다. 또한 외부 플랫폼이 요구한 'XYZ 좌표 시계열'을 전달하면서, 풀 시계열 일괄 응답(81MB·13s)을 시점 스냅샷 바이너리 + 점클릭 분리로 재설계해 1.1MB·0.56s로 줄였습니다 — DB 쿼리는 73ms라 병목이 직렬화·전송임을 측정으로 진단한 뒤 페이로드 구조를 바꾼 결과입니다.

control points 시계열 (65 epoch / 2.30 yr stack)
Control points 시계열 — 65 epoch / 2.30 yr stack
5m DEM hillshade
5m DEM hillshade — 국토지리정보원 DEM TC 적용
DEM 비교 — unwrap 결과
DEM 비교 — Phase unwrap 결과
솔직성 메모

SAR 도메인은 본인 직군(웹 개발) 외 영역입니다. AI 사고 파트너 없이는 진입이 불가능했을 영역으로 평가합니다 (3단계 직군 확장의 표본 사례).

🖥
프론트 레이어
4 진행 중 (직군 안 · UI 기획·백엔드 동시)/ sar-search-and-analyzer

Sentinel SAR 검색·요청 프론트엔드 (풀스택 준비)

지도 기반 SAR 데이터 검색·다운로드·InSAR 분석 요청

현재 단계
UI 기획·구현
팀 구성
본인 단독
AI 작성
AI native
문제

사내에서 위성 데이터를 지도에서 검색·요청하고 InSAR 분석까지 요청하는 통합 프론트 서버가 필요했습니다. 저장 레이어와 분석 레이어를 묶어주는 사용자 진입점입니다.

시스템

Next.js (App Router) + Plan/Current 환경 분리 패턴 + (sar) 도메인 (user·admin 페이지) + Next.js Route Handler BFF를 갖췄습니다. 현재는 apps/web 단독 운영이며, 모노레포(pnpm + libs/*)는 향후 백엔드(apps/api·worker·crawler) 추가 대비 사전 셋업입니다. CLAUDE.md에 4-Layer Clean Architecture + CQRS + 한글 메서드명 백엔드 설계 문서를 본인이 직접 작성했고, 집비치기에서 검증한 패턴을 가져왔습니다.

임팩트

지도 기반 AOI 폴리곤 설정 + 카탈로그 검색 + InSAR 분석 요청까지 가능한 사용자 UI 기획·구현이 진행 중입니다. 백엔드 개발과 기획이 동시 진행되어 혼선을 막는 인터페이스 설계가 핵심 작업입니다.

Playwright e2e 녹화 (Plan mock 모드, 백엔드 의존 없음) — 사용자 검색 → AOI 관리 → InSAR 분석 요청 → 다운로드 → 관리자 대시보드 다섯 화면 자동 투어.GIF
SAR 데이터 검색 UI — 지도 + AOI + 카탈로그
검색 화면 — 한국 지도 + AOI 폴리곤 + 페이로드·위성 필터 + 카탈로그(Hwaseong·Pohang·Ulsan·Seoul)
AOI 영역 설정 UI
AOI 설정 화면 — 두 polygon overlap + 영역 설정 패널
솔직성 메모

현재 코드는 apps/web 단독입니다 (apps/api·worker·crawler 미구현). 모노레포는 향후 백엔드 추가 대비 사전 셋업이며, 백엔드 4-Layer는 CLAUDE.md 설계 문서 단계입니다. UI 기획·백엔드 설계가 동시 진행 중이라 인터페이스 정합이 중요한 시점입니다.