Skip to content

Allfit-B205/Allfit-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

280 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💳 AllFit – 스마트 카드 혜택 최적화 플랫폼

한 눈에 얼핏, 내 손에 올핏

ALLFIT_발표자료(수정) (1)-이미지-15


📑 목차



🔹 서비스 소개

AllFit은 여러 장의 카드를 사용하는 사용자들이
복잡한 혜택 구조를 쉽게 이해하고 실적/한도를 자동으로 관리하며,
소비 패턴 기반으로 최적의 카드 조합을 추천받을 수 있도록 설계된
개인 맞춤 카드 혜택 관리 서비스입니다.

타겟층 및 제작 목적

  • 카드 혜택 구조가 복잡하다고 느끼는 사용자
  • 이번 달 실적·한도 계산이 귀찮은 사용자
  • 어디서 어떤 카드를 써야 이득인지 판단하기 어려운 사용자
  • 나에게 가장 잘 맞는 카드 조합을 찾고 싶은 사용자

주요 서비스

ALLFIT_발표자료(수정) (1)-이미지-16

해결하려는 문제점 및 기대효과

문제점 BIG 3 기대효과
카드 혜택 구조가 복잡해 직접 계산하기 어려움 ➡️ 혜택·실적·한도 자동 계산으로 명확한 혜택 활용
매달 실적/한도·혜택 관리가 번거로움 ➡️ 리포트와 푸시 알림을 통한 관리 자동화
나에게 맞는 최적 카드 조합을 찾기 어려움 ➡️ AI 기반 카드 조합 최적화 추천 제공

👥 팀원


이름(깃허브링크)

이름(깃허브링크)

이름(깃허브링크)

이름(깃허브링크)

이름(깃허브링크)

이름(깃허브링크)
Frontend Frontend Backend Backend Backend AI

🚀 핵심 기능

1. 혜택 계산

  • 정의한 혜택 규칙 모델에 따라 혜택 적용 여부와 혜택 금액을 계산합니다.
  • 월 실적 기준, 혜택 비율, 월 한도, 카테고리 등 카드마다 상이한 조건을 정규화된 형태로 구조화하여 통합적으로 계산합니다.
  • 이러한 계산은 사용자가 직접 판단하기 어려운 영역을 완전히 자동화해 “혜택을 놓치지 않는 경험”을 제공합니다.
  • 계산 프로세스는 비동기 이벤트 기반으로 처리되어 빠른 응답성과 안정성을 보장합니다.

2. 소비, 실적, 한도 집계

  • 결제 및 혜택이 발생할 때마다 카테고리 소비, 카드별 실적, 혜택 한도 소진 등을 자동으로 계산해 반영하는 집계 기능입니다.
  • 이 집계 시스템은 리포트, 추천 등 모든 서비스의 기반이 되는 핵심 데이터 레이어로 동작합니다.
  • 변경 이벤트 중심 구조를 채택하여, 실적·한도·혜택 현황이 항상 최신 상태로 유지됩니다.
  • 사용자는 별도의 계산 없이 현재 소비·혜택 상황을 즉시 확인할 수 있습니다.

3. 소비 분석 리포트 생성

  • 집계된 데이터를 기반으로 월간/주간 소비 분석 리포트를 생성하며,

    단순 수치가 아닌 “사용자가 이해할 수 있는 분석 결과” 형태로 재구성합니다.
  • 소비 비율, 누적 혜택액, 실적 달성률, 전월 대비 변화 등 핵심 지표를 한눈에 파악할 수 있도록 정리합니다.
  • 데이터 집계, 분석, 시각화 단계가 분리된 구조로 설계되어
    프론트엔드가 복잡한 로직 없이도 다양한 분석 화면을 구현할 수 있습니다.

4. 실시간 알림 시스템 (Kafka → FCM)

  • 실적 부족, 혜택 한도 임박, 혜택 적립 성공, 리포트 생성 완료 등 주요 이벤트를
    Kafka 토픽으로 발행하여 시스템 전반에서 비동기로 처리합니다.
  • 백엔드 Consumer는 해당 이벤트를 수신해 FCM 푸시 알림을 사용자에게 전송하며,
    혜택을 놓치기 쉬운 타이밍을 실시간으로 안내합니다.
  • 알림 클릭 시 관련 화면으로 이동하는 딥링크 라우팅을 지원해
    자연스러운 사용자 행동 흐름을 제공합니다.

5. 카드 추천 엔진 (FastAPI 기반)

  • 사용자 소비 패턴을 기반으로 향후 소비 금액을 예측하고,
    다음 달 가장 많은 혜택을 받을 수 있는 카드 조합을 계산합니다.
  • 혜택 규칙 모델을 선형 최적화 문제로 변환하여 OR-Tools 또는 PuLP 기반 Solver로 분석하며, ????
    한도 및 실적 조건을 만족하면서 혜택이 최대화되는 조합을 도출합니다.
  • TOP-1 최적 조합과 함께 TOP-5 대체 조합을 제공해 사용자별 카드 활용 전략까지 안내합니다.

6. 카드 및 소비 데이터 시각화

  • 다량의 카드 데이터 및 월간/주간 소비 데이터를 이미지와 차트로 시각화하여
    사용자가 자신의 소비 패턴을 직관적으로 이해할 수 있도록 구성했습니다.
  • 카테고리별 소비 비율, 누적 실적, 혜택 효율 등을
    모바일 환경에 최적화된 인터랙션으로 표현합니다.
  • 터치 기반 차트 탐색, 필터링, 애니메이션 등을 적용해
    단순 데이터 나열을 넘어 “탐색 가능한 리포트 경험”을 제공합니다.

📘 ERD

<이미지>

🧩 기술 스택

<이미지>

🏛️ Software Architecture

주요 기술 스택

  • Frontend: React Native, TypeScript
  • Backend: Java 21, Spring Boot 3.x, JPA, Swagger
  • AI / 추천 서버: Python 3.11, FastAPI
  • Database: PostgreSQL, Redis
  • Infrastructure: AWS EC2, Docker / Docker Compose, Nginx
  • CI/CD: Jenkins
  • Messaging / Notification: Kafka, FCM (Cloud Messaging)

아키텍처 구성

1. 클라이언트

  • React Native 앱
  • REST API 연동, FCM 알림 수신
  • 리포트·추천 결과 UI 제공

2. Spring 메인 서버

  • 사용자, 카드, 결제, 혜택, 리포트 API 제공
  • 결제 기반 혜택 계산 및 실적/한도 집계
  • Kafka → FCM 알림 발송
  • PostgreSQL/Redis 기반 데이터 처리

3. 추천 서버 (FastAPI)

  • 소비 패턴 분석 및 다음 달 소비 예측
  • OR-Tools 기반 카드 조합 최적화
  • Spring 서버와 독립 운영

4. Database

  • PostgreSQL: 도메인 데이터 저장
  • Redis: 캐싱 및 이벤트 처리 최적화

5. Infra & 배포

  • AWS EC2 + Docker Compose 운영
  • Nginx Reverse Proxy
  • Jenkins CI/CD 자동 배포

🌐 API 요약

AllFit API는 다음 7개 도메인으로 구성되어 있습니다.

  • 회원(Member) — 로그인, 프로필, FCM 토큰 등 사용자 정보를 관리
  • 카드(Card) — 보유 카드 목록 및 카드 설정을 관리
  • 혜택(Benefit) — 카드별 혜택 조건과 적립 내역을 제공
  • 결제(Payment) — 결제 기록을 저장하고 혜택 계산의 입력 데이터로 사용
  • 리포트(Report) — 주간·월간 소비 분석 및 카테고리 통계를 제공
  • 알림(Alarm) — 혜택·실적·리포트 관련 알림을 생성하고 관리
  • 추천(Recommend) — 소비 예측 기반 카드 조합 최적 추천을 수행

각 도메인의 상세 엔드포인트는 아래 문서를 참고해주세요.
👉 API 상세 문서 보러가기


📱 화면 구성

<이미지>


🖇️ 링크 모음

구분 링크
소개(발표) 자료 ➡️
ERD 설계서 ➡️
Figma 기획 파일 ➡️
API 명세서 ➡️

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors