개요

사람들이 자주 가는 장소(POI) 주변 주차장 데이터를 점진적으로 수집하고, 이를 활용한 리스트형 탐색 페이지를 추가하는 계획.

핵심 원칙: 좁은 범위 → 검증 → 확대


1. POI 기반 데이터 수집 전략

수집 대상 카테고리

순서 카테고리 수집 방식 파일럿 범위 비고
1 기차역 (KTX/SRT) 자동 (카카오 API) 서울 3~5곳 서울역, 용산역, 수서역
2 대형병원 자동 (카카오 API) 서울 5곳 서울대병원, 삼성서울 등
3 공항/터미널 자동 (카카오 API) 인천·김포 장기주차 수요
4 관공서/면허시험장 자동 (카카오 API) 서울 5곳 초보 첫 방문 빈도 높음
5 대형 쇼핑몰 자동 (카카오 API) 서울 5곳 주말 혼잡도
6 관광지/명소 수동 큐레이션 별도 진행 경복궁, 남산 등

점진적 확장 프로세스

[Phase 1] 파일럿 (카테고리 1개, 3~5개 POI)
  → 카카오 API로 POI 검색
  → 반경 500m 주차장 매칭 (기존 DB 교차)
  → 네이버 카페/블로그 리뷰 크롤링
  → 결과물 JSON 저장 → 사람이 검증
  → 매칭률, 리뷰 품질, false positive 확인

[Phase 2] 로직 보완
  → 검증 결과 반영하여 필터/매칭 로직 개선
  → 같은 카테고리 전국 확대 OR 다음 카테고리로

[Phase 3] 순차 확대
  → 카테고리 1 전국 → 카테고리 2 파일럿 → ...
  → 각 단계마다 검증 리포트 생성

파이프라인 상세

[1] POI 수집      : 카카오 카테고리 검색 API → poi_list.json
[2] 주차장 매칭   : POI 반경 500m 주차장 → DB 교차 → matched.json  
[3] 리뷰 크롤링   : 매칭된 주차장명 → 네이버 블로그/카페 검색 → reviews.json
[4] 검증 리포트   : 매칭률, 리뷰 품질, false positive 비율 확인
[5] DB 반영       : 승인 후 parking_lots + crawled_reviews + POI 연결 테이블 반영

DB 스키마 (신규 테이블)

-- POI 마스터
CREATE TABLE pois (
  id TEXT PRIMARY KEY,
  name TEXT NOT NULL,          -- '서울역', '삼성서울병원'
  category TEXT NOT NULL,      -- 'station', 'hospital', 'airport', 'mall', 'office', 'tourist'
  lat REAL NOT NULL,
  lng REAL NOT NULL,
  address TEXT,
  kakao_place_id TEXT,
  created_at TEXT DEFAULT (datetime('now'))
);

-- POI ↔ 주차장 연결
CREATE TABLE poi_parking_lots (
  poi_id TEXT NOT NULL REFERENCES pois(id),
  parking_lot_id TEXT NOT NULL REFERENCES parking_lots(id),
  distance_m INTEGER,          -- POI로부터 거리 (미터)
  PRIMARY KEY (poi_id, parking_lot_id)
);

2. 리스트형 탐색 페이지 (신규)

필요성

현재 메인은 지도 중심 UI → 이미 목적지를 아는 사용자에게 적합.

하지만 아래 케이스는 리스트형 UI가 더 적합: