Skip to content

SIMPAYLOG/finance-data-generator

Repository files navigation

🏦 [SIMPAYLOG]finance-data-generator

📌 프로젝트 개요 (Overview)

Transaction Data Generator는 현실성 있는 금융 트랜잭션 데이터를 자동으로 생성하는 서비스입니다.
실제 사용자 데이터를 확보하기 어려운 상황에서도, 소득 분위와 소비 성향을 반영한 시뮬레이션 데이터를 생성하여 다음과 같은 활용이 가능합니다.

이 프로젝트의 주요 목적은 다음과 같습니다.

  • 현실적인 입출금 데이터를 모의 생성하여 학습, 연구, 실험에 누구나 활용할 수 있는 환경 제공
  • 연령대, 소득 분위, 소비 성향 등 사용자 프로필에 따른 차별화된 소비 패턴 반영
  • 시간대별, 요일별, 카테고리별로 구체적인 소비 특징을 갖춘 데이터 생산

🏗 아키텍처 구조 (Architecture)

본 프로젝트는 멀티모듈 아키텍처로 구성되어 있습니다:

  • core
    • 트랜잭션 생성 로직 및 공통 유틸리티
  • api
    • REST API 제공 (트랜잭션 생성 요청/조회)
    • Elasticsearch 연동을 통한 검색/분석 기능
  • simulator
    • 대량 트랜잭션 시뮬레이션 실행
    • Kafka를 통해 이벤트 기반 데이터 전송

✨ 주요 기능 (Features)

1. 현실적인 트랜잭션 데이터 생성

  • 사용자 프로필(연령대, 소득 수준, 소비 성향 등)에 따라 입출금 기록 생성

2. 고정 지출 및 입금 이벤트 지원

  • 급여, 통신비, 주거비, 연금 등 정기적으로 발생하는 지출/입금 자동 반영

3. 소비 성향 기반 패턴 시뮬레이션

  • 소비지향형, 저축지향형, 무계획형 등 다양한 라이프스타일을 반영하여 현실적인 소비 패턴 제공

4. 시간 · 요일 · 카테고리별 특성 반영

  • 특정 시간대, 특정 요일에 집중되는 소비 습관을 반영

5. 대용량 데이터 처리와 확장성

  • 수천 명 사용자, 수백만 건의 트랜잭션 데이터를 생성·분석할 수 있는 확장 가능한 아키텍처로 설계

6. 데이터 분석 및 시각화 연계

  • Elasticsearch 기반 검색·분석 지원
  • 히트맵, 추세 그래프 등 시각화 도구와 연계해 분석 결과 제공

7. 트랜잭션 생성데이터 제공

  • CSV 및 JSON 형식으로 데이터 제공, 외부 데이터셋으로 활용 가능

⚙️ 설치 및 실행 방법 (Installation & Run)

1. 요구사항

  • Java 21+
  • Docker & Docker Compose

2. 클론 및 빌드

git clone https://github.com/SIMPAYLOG/finance-data-generator.git
cd finance-data-generator
./gradlew clean build -x test
docker compose -f docker-compose-demo.yml up -d --build

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages