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 전달하는 거라면, 이 방법이 가장 편할수도 있지만,
데이터 전처리를 거치지 않기 때문에 토큰 비용이 꽤 나올 수 있음
'개발일지' 카테고리의 다른 글
| [개발일지_safeHome] 13. SSE 샘플 추가 (0) | 2026.01.15 |
|---|---|
| [개발일지_safeHome] 11. redis 세팅 추가 (0) | 2025.12.29 |
| [개발일지_safeHome] 9. swagger 세팅 (0) | 2025.12.28 |
| [개발일지_safeHome] 8. Custom Exception 개발 (0) | 2025.12.28 |
| [개발일지_safeHome] 7. sample 도메인 개발 (adapter, usecase, repository, 등등.....) (0) | 2025.12.23 |