개발일지

[개발일지_safeHome] 10. 등기부등본 분석 설계는 어떻게 할 것인가?

woopii 2025. 12. 29. 00:30

1. 등기부등본 분석 서비스 플로우

 

1. 사용자가 앱에서 PDF 업로드
   ↓
2. Spring API: POST /api/v1/deed/analyze
   - Job 생성 (PENDING)
   - FCM 토큰 저장
   - 즉시 응답 (202 Accepted, jobId 반환)
   ↓
3. 비동기 처리 시작 (@Async)
   ├─ WebSocket 연결 중인 사용자: 실시간 진행상황 전송
   └─ 백그라운드 사용자: 대기
   ↓
4. Step 1: S3에 PDF 업로드
   - WebSocket: "파일 업로드 중..." (10%)
   ↓
5. Step 2: Python PDF 서비스 호출
   - HTTP POST → pdf-service:8001/api/extract
   - WebSocket: "PDF 변환 중..." (30%)
   - 텍스트 추출 완료
   - WebSocket: "PDF 변환 완료" (50%)
   ↓
6. Step 3: Python LLM 서비스 호출
   - HTTP POST → llm-service:8002/api/analyze
   - WebSocket: "AI 분석 중..." (60%)
   - Claude API 호출
   - 분석 완료
   - WebSocket: "AI 분석 완료" (90%)
   ↓
7. Step 4: 결과 저장
   - PostgreSQL에 결과 저장
   - WebSocket: "결과 저장 중..." (95%)
   ↓
8. Step 5: 완료 처리
   - Job 상태 → COMPLETED
   - WebSocket: "분석 완료!" (100%, result 포함)
   - FCM 푸시: "등기부등본 분석 완료" (백그라운드 사용자에게)
   ↓
9. 사용자 확인
   ├─ 앱 실행 중: WebSocket으로 바로 결과 확인
   └─ 백그라운드: FCM 알림 클릭 → 결과 화면

 

 

1. 데이터를 추출은 어떻게 할 것인가?

 

오픈 API ❌

우선 오픈API 가 있는지 확인했는데,
법원에서 등기정보광장 이라고 오픈API를 제공해주는 포털은 있지만,
내가 원하는 개별 등기부등본 정보를 확인할 수는 없었음

 

PDF 추출 ✅

사용자가 직접 PDF 까지는 뽑고, 그 데이터로 요청하면, 처리하는 방식

오픈소스 활용해서 처리하면 될듯

 

 

LLM에서 처리 ❌

사용자가 PDF 전달하는 거라면, 이 방법이 가장 편할수도 있지만,

데이터 전처리를 거치지 않기 때문에 토큰 비용이 꽤 나올 수 있음