Skip to content

dradnats1012/Sparta

Repository files navigation

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

About

전국 지역화폐 가맹점 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages