Skip to content

Latest commit

 

History

History
69 lines (41 loc) · 2.38 KB

File metadata and controls

69 lines (41 loc) · 2.38 KB

Sparta - 전국 지역화폐 가맹점 지도

프로젝트 소개

지역화폐 가맹점 데이터를 기반 공간 인덱스(Spatial Index) 를 활용한 위치 기반 가맹점 조회 서비스

기술 스택

구분 기술
Framework Spring Boot 3.4.5, Java 21
Database MySQL 8.4
Monitoring Prometheus, Grafana, Loki, Promtail
Infra Docker Compose

프로젝트 구조

src/main/java/com/study/sparta/
├── config/                    # 설정 (CORS, Swagger, Filter)
├── global/                    # 글로벌 에러 로깅 필터
└── localcurrency/             # 지역화폐 가맹점 모듈
    ├── controller/
    ├── domain/ (+ dto/)
    ├── repository/
    └── service/

핵심 기능

1. 위치 기반 가맹점 조회 (Spatial Query)

  • 반경 검색: ST_Buffer + ST_Contains를 이용한 반경 내 가맹점 조회
  • 화면 기반 검색: MBRContains + LINESTRING을 이용한 바운딩 박스 내 가맹점 조회
  • 공간 인덱스 최적화: local_store_coordinate 테이블을 별도로 두어 Spatial Index 성능 극대화

2. 전문 검색 (Full-Text Search)

  • 가맹점명, 지역명에 대해 MySQL FULLTEXT 인덱스 + NATURAL LANGUAGE MODE 검색 지원

3. 데이터 정제 파이프라인

  • 원천 데이터(local_store) → 정제 데이터(local_store_cleaned) → 좌표 테이블(local_store_coordinate) 구조
  • UUID 기반 외부 식별자 사용

인프라 구성

image

DB 구조

image

블로깅 모음

벨로그 대량데이터 시리즈

서비스 화면

image

모니터링 대시보드

image