SYSTEM BLUEPRINT

지자체 공고 주소 추출
업무 자동화 화면 설계

공고 검색, 문서 파싱, 주소 검수, 지도 시각화, 결과 내보내기까지 실제 실무 흐름을 기준으로 구성했습니다.

실무 담당자 시나리오

공고 수집부터 지도 확인까지의 담당자 흐름

반복 방문과 문서 열람을 줄이고, 검수와 판단에 집중하는 사용 흐름입니다.

1. 검색 조건

지자체와 검색어 선택
저장 폴더 확인

2. 자동 수집

게시판 검색
첨부파일 다운로드

3. 주소 추출

문서 파싱
주소 후보 정리

4. 지도 확인

좌표 변환
마커 클러스터 확인

5. 결과 저장

CSV 내보내기
실패 목록 검수

실무 담당자 | 화면 01

검색 조건 및 실행 화면

local-app/search
공고 검색 조건
검색어
토지보상, 토지출입
대상
포항
고시공고 게시판
대상
경주
고시공고 게시판
대상
구미
고시공고 게시판
대상
김천
고시공고 게시판
실행 전 점검
저장 폴더: C:/land-notice/downloads
중복 기준: 파일명 + 공고 번호
좌표 API: 카카오 로컬 API 연결 완료
예상 처리: 최근 30일 공고 약 64건

[화면 개요 및 목적]

실무 담당자가 포항, 경주, 구미, 김천과 검색어를 선택하고 자동 수집을 시작하는 첫 화면입니다.

[핵심 기능 로직]

대상 지자체와 키워드를 작업 단위로 저장해 같은 조건의 반복 실행과 중복 다운로드 방지를 지원합니다.

  • React Form State
  • Electron Local Config
실무 담당자 | 화면 02

자동 수집 진행 화면

local-app/progress
수집 진행률
포항
18건
경주
12건
구미
9건
김천
7건
현재: 포항시 고시공고 상세 페이지 진입 후 HWP 첨부파일 다운로드 중
[09:41:12] pohang list loaded
[09:41:18] notice 2026-1842 opened
[09:41:21] 보상계획공고.hwp saved
[09:41:26] duplicate skipped: 2026-1771.pdf
[09:41:33] gyeongju parser ready

[화면 개요 및 목적]

사이트별 진행률과 다운로드 로그를 보여 주어 작업이 멈춘 지점을 바로 알 수 있습니다.

[핵심 기능 로직]

Playwright 기반 수집 엔진이 지자체별 모듈로 실행되고, 중복 파일은 저장 전 건너뜁니다.

  • Playwright Crawler
  • Download Deduplication
실무 담당자 | 화면 03

결과 표 및 내보내기 화면

추출 주소
146개
중복 제거 후
좌표 변환
139개
성공률 95.2%
검수 필요
7개
원문 링크 추적
주소위도경도상태
포항시 남구 대잠동 100136.0187129.3435성공
경주시 외동읍 모화리 522-135.7092129.3238성공
구미시 산동읍 신당리 138236.1474128.4327성공
김천시 어모면 중왕리 산 42--검수 필요

[화면 개요 및 목적]

추출 주소, 좌표 변환 상태, 실패 건을 표로 확인하고 CSV로 내보냅니다.

[핵심 기능 로직]

주소 후보를 점수화하고 실패 사유를 남겨 담당자가 빠르게 보정할 수 있게 합니다.

  • SQLite Result Store
  • CSV Export
운영 관리자 시나리오

설정과 검수 중심 운영 흐름

지도 API, 저장 폴더, 실패 목록을 관리해 실제 운영 안정성을 확보합니다.

1. API 설정

지도 API 키 등록
연결 상태 확인

2. 저장 설정

다운로드 폴더
결과 파일 경로

3. 실패 검수

좌표 실패 목록
주소 후보 확인

4. 작업 이력

이전 수집 기록
중복 처리 확인

5. 확장 준비

지자체 추가
검색어 추가

운영 관리자 | 화면 01

지도 API 및 환경 설정

local-app/settings
지도 API
카카오
키 유효성 확인 완료
저장 위치
downloads
로컬 파일 보관
내보내기
CSV
엑셀 열람 가능
대상 지자체 관리
포항시: 연결 정상
경주시: 연결 정상
구미시: 검색 폼 확인 필요
김천시: 연결 정상

[화면 개요 및 목적]

API 키, 저장 위치, 내보내기 형식을 한 곳에서 관리하는 설정 화면입니다.

[핵심 기능 로직]

민감 키는 로컬 설정에 저장하고, 실행 전 유효성 체크로 실패를 줄입니다.

  • Local Secure Config
  • API Health Check
운영 관리자 | 화면 02

지도 시각화 화면

local-app/map
18
12
9
7
경북권 토지 공고 분포
클러스터
4개 권역
마커 밀집 자동 묶음
툴팁
원문 링크
공고 제목과 주소 연결
실패 보정
7건
주소 후보 재검토

[화면 개요 및 목적]

좌표 변환된 주소를 지도 위 마커와 클러스터로 보여 주는 핵심 결과 화면입니다.

[핵심 기능 로직]

마커 클릭 시 원문 공고 제목과 링크를 보여 주어 데이터 출처를 추적할 수 있습니다.

  • Kakao Map SDK
  • Marker Clustering
운영 관리자 | 화면 03

실패 목록 보정 화면

local-app/review
추출 주소
146개
중복 제거 후
좌표 변환
139개
성공률 95.2%
검수 필요
7개
원문 링크 추적
주소위도경도상태
포항시 남구 대잠동 100136.0187129.3435성공
경주시 외동읍 모화리 522-135.7092129.3238성공
구미시 산동읍 신당리 138236.1474128.4327성공
김천시 어모면 중왕리 산 42--검수 필요

[화면 개요 및 목적]

좌표 변환 실패 건을 별도 목록으로 분리해 원문과 함께 검수합니다.

[핵심 기능 로직]

실패 원인을 기록하고 수정 주소를 재시도해 최종 결과의 신뢰도를 높입니다.

  • Data Aggregation & Visualization
  • Geocoding Retry Queue
유지보수 담당자 시나리오

크롤러와 파싱 규칙 유지보수 흐름

사이트 변경과 문서 예외가 생겨도 빠르게 원인을 찾고 수정할 수 있는 관리 흐름입니다.

1. 상태 확인

사이트 연결 상태
최근 오류 확인

2. 로그 분석

다운로드 실패
파싱 실패 추적

3. 규칙 수정

주소 정규식
문서 추출 방식 보정

4. 샘플 테스트

첨부파일 검증
좌표 변환 검증

5. 버전 배포

패키징
사용자 전달

유지보수 담당자 | 화면 01

크롤러 상태 대시보드

admin.local/crawler-status
수집 진행률
포항
18건
경주
12건
구미
9건
김천
7건
현재: 포항시 고시공고 상세 페이지 진입 후 HWP 첨부파일 다운로드 중
[09:41:12] pohang list loaded
[09:41:18] notice 2026-1842 opened
[09:41:21] 보상계획공고.hwp saved
[09:41:26] duplicate skipped: 2026-1771.pdf
[09:41:33] gyeongju parser ready

[화면 개요 및 목적]

4개 지자체 연결 상태와 최근 실패 로그를 확인하는 유지보수 화면입니다.

[핵심 기능 로직]

사이트별 크롤러를 분리해 오류 발생 시 해당 지자체 모듈만 빠르게 수정합니다.

  • Crawler Health Log
  • Module Isolation
유지보수 담당자 | 화면 02

파싱 규칙 테스트 화면

admin.local/parser-test
추출 주소
146개
중복 제거 후
좌표 변환
139개
성공률 95.2%
검수 필요
7개
원문 링크 추적
주소위도경도상태
포항시 남구 대잠동 100136.0187129.3435성공
경주시 외동읍 모화리 522-135.7092129.3238성공
구미시 산동읍 신당리 138236.1474128.4327성공
김천시 어모면 중왕리 산 42--검수 필요

[화면 개요 및 목적]

샘플 HWP, PDF, Excel 파일을 넣고 주소 추출 결과를 즉시 확인합니다.

[핵심 기능 로직]

문서 형식별 추출 모듈과 주소 정규식을 독립 검증해 운영 중 장애를 줄입니다.

  • Parser Test Harness
  • Regex Rule Set
유지보수 담당자 | 화면 03

배포 패키징 확인 화면

admin.local/package
지도 API
카카오
키 유효성 확인 완료
저장 위치
downloads
로컬 파일 보관
내보내기
CSV
엑셀 열람 가능
대상 지자체 관리
포항시: 연결 정상
경주시: 연결 정상
구미시: 검색 폼 확인 필요
김천시: 연결 정상

[화면 개요 및 목적]

윈도우 실행 파일 생성 전 포함 파일과 버전 정보를 확인합니다.

[핵심 기능 로직]

Electron과 Python 런타임을 함께 패키징해 사용자 PC에서 바로 실행되도록 구성합니다.

  • Electron Builder
  • Issue Tracking & Status Management