Skip to content
@Doori-Bank

Doori Bank

BaaS 기반의 소비패턴 분석을 통해 카드 추천과 과소비 방지를 제공하는 서비스
  • Korea, South

🦖 나만의 AI 두리비서와 함께 만드는 건강한 소비습관 - 우리두리 (WooriDoori)

우리두리는 사회초년생의 소비 데이터를 기반으로 소비 흐름을 해석하고, 예측과 코칭까지 제공하는 개인 맞춤형 소비 습관 개선 서비스입니다.

팀원 소개

PM 최홍석 PL 홍윤기 서민지 이노운 장송하 전수민
홍석 프로필 윤기 프로필 민지 프로필 노운 프로필 송하 프로필 수민 프로필
🔗GitHub 🔗GitHub 🔗GitHub 🔗GitHub 🔗GitHub 🔗GitHub
팀 리더
백엔드
클라우드
프론트엔드
백엔드 클라우드
프론트엔드
백엔드 클라우드
프론트엔드
백엔드 클라우드
프론트엔드
백엔드 클라우드
프론트엔드
백엔드 클라우드

개발 환경 및 기술 스택

Category Stack
Frontend React (PWA)
Backend Spring Boot Spring Security Spring Data JPA Spring AI JUnit5
Database / Cache MySQL Redis
CI/CD & Security GitHub Actions GHCR Trivy CycloneDX Cosign
Infrastructure Docker Terraform Ansible
Cloud Environment AWS vSphere OpenStack
Monitoring & Logging ElasticSearch Kibana Logstash

서비스 소개 영상

wooridoori-intro.mp4

기획 배경 – 문제 상황 정의

1. 소비 데이터는 많지만, 해석은 사용자 몫으로 남아 있음

대부분의 금융 서비스는 소비 내역과 통계를 제공합니다. 하지만 해당 결과가 왜 발생했는지, 지금 소비 상태가 위험한지에 대한 해석은 제공하지 않습니다. 그 결과 사용자는 데이터를 확인하고도 행동으로 이어지지 못합니다.

2. 소비 관리가 ‘확인’에서 끝나고 ‘개선’으로 이어지지 않음

월별 소비 요약은 제공되지만, 어떤 소비를 줄여야 하는지, 어디서 반복적인 과소비가 발생하는지는 파악하기 어렵습니다. 소비 관리는 기록 중심에 머물고, 실제 습관 개선으로 이어지지 않는 구조라고 판단했습니다.

3. 개인별 소비 맥락을 반영한 안내가 부족함

같은 금액의 소비라도 사용자마다 상황과 소비 맥락은 다릅니다. 하지만 기존 서비스는 이를 고려하지 않고 정형화된 통계 위주로 정보를 제공합니다. 개인 소비 흐름을 이해하고 설명해주는 기능이 부족하다고 보았습니다.


서비스 개요

우리두리는 위 문제를 해결하기 위해 소비 데이터를 해석하고 설명하는 구조를 서비스의 핵심으로 설계했습니다.

금융 데이터를 다루는 서비스 특성을 고려해 고가용성과 안정성을 중시한 아키텍처를 기반으로 구현했습니다.

월 목표 관리, 소비 속도 분석, 위험 알림, 카테고리·가맹점 TOP5 분석, 소비일기 기능을 제공하며, 생성형 AI 기반 개인 소비 비서 두리 비서를 통해 사용자의 소비 흐름을 이해하고 개선 방향을 제시합니다.

주요 서비스 기능

1. 소비 진행률 및 위험 알림 기능

image

  • 월 목표 대비 소비 진행률과 소비 속도를 함께 분석합니다.
  • 현재 페이스 기준 목표 초과 시점을 예측하고, 위험 구간 진입 전에 알림을 제공합니다.

➡️ 단순 기록이 아닌 예측 기반 피드백을 통해 사용자가 소비를 조기에 조절할 수 있도록 지원합니다.


2. 카테고리 TOP5 · 가맹점 TOP5 분석

image

  • 카테고리 총액뿐 아니라, 실제 지출이 반복적으로 발생한 가맹점 단위까지 분석합니다.

➡️ 작은 금액이라 인지하지 못했던 소비가 어디에서 누적되고 있었는지 한눈에 파악할 수 있도록 구성했습니다.


3. 소비 캘린더 및 소비일기

image

  • 소비 내역을 날짜별로 확인할 수 있는 캘린더 기능과 함께 소비 당시의 상황과 감정을 기록할 수 있는 소비일기를 제공합니다.

➡️ 시간 흐름과 감정 맥락 속에서 충동 소비와 반복 패턴을 자연스럽게 인지하도록 설계했습니다.


4. 월말 리포트 및 생성형 AI 두리 비서

image

  • 월말 리포트는 자체 소비 점수 기준을 적용해 사용자의 소비 습관을 객관적인 지표로 평가합니다.
  • 생성형 AI 기반 두리 비서는 소비 데이터를 해석해 설명하고, 실행 가능한 행동 방안까지 제안합니다.

[ 우리두리 소비 점수 구성 ]

영역 배점 평가 내용 핵심 기준
목표 달성도 40점 월 목표 대비 소비 평가 목표 이하 소비 시 가점, 초과 시 감점
소비 안정성 20점 소비 변동성 평가 변동이 적을수록 높은 점수
필수/비필수 비율 20점 소비 구조 균형 필수 지출 비중 기준
절약 지속성 20점 전월 대비 변화 지속적 절약 여부 반영

➡️ 이를 통해 소비 관리를 요약이 아닌 코칭 경험으로 확장했습니다.



우리두리의 차별성

기존 자산관리 서비스가 자산 현황 확인과 상품 추천에 초점을 둔다면,
우리두리는 소비 습관 자체를 변화시키는 데 초점을 둔 서비스입니다. image

기록 → 분석 → 예측 → 코칭까지 이어지는 구조로
지출 데이터를 실제 행동 변화로 연결합니다.


운영자 대시보드

운영자 역시 데이터를 기반으로 서비스를 이해하고 개선할 수 있도록 운영자 대시보드를 제공합니다.

1. 소비 패턴 분석

image

카테고리별 지출 금액, 트렌드 변화, 상세 소비 통계를 제공하며 서비스 확장을 위한 기반 데이터로 활용됩니다.

2. 고객 행동 분석

image

일별 활성 사용자 수, 신규 사용자 수, 재방문 비율을 통해 서비스 성장 흐름과 사용자 이용 현황을 파악합니다.


📌 주요 도메인 프로세스

1. 카드 등록 프로세스

사용자가 실제로 사용하는 카드 정보를 등록하고, 검증된 카드만 계정에 연결하는 흐름입니다.
추후 소비 내역 분석과 목표 관리의 기반 데이터가 됩니다.

  • 사용자 → 앱: 카드 정보 입력 (카드번호, 비밀번호, 유효기간 등)
  • 앱 → 백엔드: 카드 등록 API 호출
  • 백엔드:
    • 회원 정보 조회
    • 카드 존재 여부 확인
    • 카드 정보 검증 (비밀번호, 유효기간, 주민번호, CVC 등)
    • 검증 성공 시 MemberCard 엔티티 저장
  • 실패 시: 적절한 에러 코드(404/400)와 메시지 반환
card-register-seq

2. 목표 설정 및 점수 계산 프로세스

사용자가 월간 소비 목표를 설정하면, 일일 스케줄러와 AI 모듈이
달성도·안정성·비율·지속성 등 여러 관점에서 점수를 계산합니다.

  • 목표 설정
    • 사용자 → 앱 → 백엔드: 목표 금액/급여 전달
    • 이번 달/다음 달 목표 생성·수정 로직
  • 점수 계산 (일일 배치/스케줄러)
    • 목표 대비 실제 소비액 기반 달성도
    • 일별 소비 편차 기반 안정성
    • 카테고리 균형 기반 비율
    • 일정한 패턴 유지 기반 지속성
  • 계산된 점수는 DB에 저장되고 AI 피드백에도 활용
goal-score-seq

3. 카드 추천 프로세스

실제 소비 내역을 분석해, 사용자에게 맞는 카드를 카테고리 기반으로 추천합니다.

  • 현재 월 기준, 카테고리별 소비 금액 집계
  • 결제 내역이 없으면: 빈 리스트 반환
  • 결제 내역이 있으면:
    • TOP 카테고리부터 최대 5개 카테고리까지 순회
    • 각 카테고리별 인기 카드(사용 횟수 기준) 조회
    • 최대 4개의 카드 ID를 수집 후 상세 정보 조회
  • 정렬 및 가공 후, 추천 카드 리스트 + 대표 카테고리를 앱에 반환
card-recommend-seq

4. 일기 작성 프로세스

소비와 감정을 함께 기록하는 일기 기능으로,
사용자의 상태를 장기적으로 파악하고 알림까지 연계합니다.

  • 사용자 → 앱 → 백엔드: 제목/내용/이미지 포함 일기 작성 요청
  • 이미지가 있을 경우:
    • S3에 업로드 후 URL 저장
    • File 엔티티로 메타데이터 DB 저장
  • 하루 1개 제한을 위해, 해당 날짜 일기 존재 여부 검증
  • 신규 일기 저장 후:
    • SSE 기반 실시간 알림 발송 (sendDiaryNotification)
    • 앱에서 알림 및 작성 완료 화면 표시
diary-seq

5. AI 챗봇 대화 프로세스

소비 내역, 목표, 과거 대화, 일기 등 다양한 컨텍스트를 활용하여
개인화된 금융 코칭/응원 메시지를 제공하는 AI 챗봇입니다.

  • 사용자 → 앱: 채팅 메시지 입력
  • 앱 → 백엔드: /api/chat 호출
  • 백엔드:
    • 메시지 전처리 (월/키워드 추출 등)
    • 사용자 목표(Goal), 소비 내역(CardHistory) 조회
    • VectorStore(ChromaDB)에서 과거 대화/컨텍스트 유사도 검색
    • 페르소나 + 규칙 + 목표 + 소비내역 + 컨텍스트 + 최신 대화를 포함한 프롬프트 구성
  • AI 모듈:
    • Groq API + Llama 3.1 모델로 응답 생성
  • 백엔드:
    • 대화 내용을 임베딩 후 VectorStore에 저장
    • 생성된 AI 응답을 앱에 전달
  • 앱 → 사용자: AI 응답 표시
ai-chat-seq

Popular repositories Loading

  1. .github .github Public

  2. WooriDoori-App-FE WooriDoori-App-FE Public

    TypeScript 2

  3. WooriDoori-Infra WooriDoori-Infra Public

    HCL 1

  4. WooriDoori-BE WooriDoori-BE Public

    Java 3

  5. Core-Banking Core-Banking Public

    Java

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…