AllFit은 여러 장의 카드를 사용하는 사용자들이
복잡한 혜택 구조를 쉽게 이해하고 실적/한도를 자동으로 관리하며,
소비 패턴 기반으로 최적의 카드 조합을 추천받을 수 있도록 설계된
개인 맞춤 카드 혜택 관리 서비스입니다.
- 카드 혜택 구조가 복잡하다고 느끼는 사용자
- 이번 달 실적·한도 계산이 귀찮은 사용자
- 어디서 어떤 카드를 써야 이득인지 판단하기 어려운 사용자
- 나에게 가장 잘 맞는 카드 조합을 찾고 싶은 사용자
| 문제점 BIG 3 | 기대효과 | |
|---|---|---|
| 카드 혜택 구조가 복잡해 직접 계산하기 어려움 | ➡️ | 혜택·실적·한도 자동 계산으로 명확한 혜택 활용 |
| 매달 실적/한도·혜택 관리가 번거로움 | ➡️ | 리포트와 푸시 알림을 통한 관리 자동화 |
| 나에게 맞는 최적 카드 조합을 찾기 어려움 | ➡️ | AI 기반 카드 조합 최적화 추천 제공 |
이름(깃허브링크) |
이름(깃허브링크) |
이름(깃허브링크) |
이름(깃허브링크) |
이름(깃허브링크) |
이름(깃허브링크) |
|---|---|---|---|---|---|
| Frontend | Frontend | Backend | Backend | Backend | AI |
- 정의한 혜택 규칙 모델에 따라 혜택 적용 여부와 혜택 금액을 계산합니다.
- 월 실적 기준, 혜택 비율, 월 한도, 카테고리 등 카드마다 상이한 조건을 정규화된 형태로 구조화하여 통합적으로 계산합니다.
- 이러한 계산은 사용자가 직접 판단하기 어려운 영역을 완전히 자동화해 “혜택을 놓치지 않는 경험”을 제공합니다.
- 계산 프로세스는 비동기 이벤트 기반으로 처리되어 빠른 응답성과 안정성을 보장합니다.
- 결제 및 혜택이 발생할 때마다 카테고리 소비, 카드별 실적, 혜택 한도 소진 등을 자동으로 계산해 반영하는 집계 기능입니다.
- 이 집계 시스템은 리포트, 추천 등 모든 서비스의 기반이 되는 핵심 데이터 레이어로 동작합니다.
- 변경 이벤트 중심 구조를 채택하여, 실적·한도·혜택 현황이 항상 최신 상태로 유지됩니다.
- 사용자는 별도의 계산 없이 현재 소비·혜택 상황을 즉시 확인할 수 있습니다.
- 집계된 데이터를 기반으로 월간/주간 소비 분석 리포트를 생성하며,
단순 수치가 아닌 “사용자가 이해할 수 있는 분석 결과” 형태로 재구성합니다. - 소비 비율, 누적 혜택액, 실적 달성률, 전월 대비 변화 등 핵심 지표를 한눈에 파악할 수 있도록 정리합니다.
- 데이터 집계, 분석, 시각화 단계가 분리된 구조로 설계되어
프론트엔드가 복잡한 로직 없이도 다양한 분석 화면을 구현할 수 있습니다.
- 실적 부족, 혜택 한도 임박, 혜택 적립 성공, 리포트 생성 완료 등 주요 이벤트를
Kafka 토픽으로 발행하여 시스템 전반에서 비동기로 처리합니다. - 백엔드 Consumer는 해당 이벤트를 수신해 FCM 푸시 알림을 사용자에게 전송하며,
혜택을 놓치기 쉬운 타이밍을 실시간으로 안내합니다. - 알림 클릭 시 관련 화면으로 이동하는 딥링크 라우팅을 지원해
자연스러운 사용자 행동 흐름을 제공합니다.
- 사용자 소비 패턴을 기반으로 향후 소비 금액을 예측하고,
다음 달 가장 많은 혜택을 받을 수 있는 카드 조합을 계산합니다. - 혜택 규칙 모델을 선형 최적화 문제로 변환하여 OR-Tools 또는 PuLP 기반 Solver로 분석하며, ????
한도 및 실적 조건을 만족하면서 혜택이 최대화되는 조합을 도출합니다. - TOP-1 최적 조합과 함께 TOP-5 대체 조합을 제공해 사용자별 카드 활용 전략까지 안내합니다.
- 다량의 카드 데이터 및 월간/주간 소비 데이터를 이미지와 차트로 시각화하여
사용자가 자신의 소비 패턴을 직관적으로 이해할 수 있도록 구성했습니다. - 카테고리별 소비 비율, 누적 실적, 혜택 효율 등을
모바일 환경에 최적화된 인터랙션으로 표현합니다. - 터치 기반 차트 탐색, 필터링, 애니메이션 등을 적용해
단순 데이터 나열을 넘어 “탐색 가능한 리포트 경험”을 제공합니다.
<이미지>
<이미지>
- 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)
- React Native 앱
- REST API 연동, FCM 알림 수신
- 리포트·추천 결과 UI 제공
- 사용자, 카드, 결제, 혜택, 리포트 API 제공
- 결제 기반 혜택 계산 및 실적/한도 집계
- Kafka → FCM 알림 발송
- PostgreSQL/Redis 기반 데이터 처리
- 소비 패턴 분석 및 다음 달 소비 예측
- OR-Tools 기반 카드 조합 최적화
- Spring 서버와 독립 운영
- PostgreSQL: 도메인 데이터 저장
- Redis: 캐싱 및 이벤트 처리 최적화
- AWS EC2 + Docker Compose 운영
- Nginx Reverse Proxy
- Jenkins CI/CD 자동 배포
AllFit API는 다음 7개 도메인으로 구성되어 있습니다.
- 회원(Member) — 로그인, 프로필, FCM 토큰 등 사용자 정보를 관리
- 카드(Card) — 보유 카드 목록 및 카드 설정을 관리
- 혜택(Benefit) — 카드별 혜택 조건과 적립 내역을 제공
- 결제(Payment) — 결제 기록을 저장하고 혜택 계산의 입력 데이터로 사용
- 리포트(Report) — 주간·월간 소비 분석 및 카테고리 통계를 제공
- 알림(Alarm) — 혜택·실적·리포트 관련 알림을 생성하고 관리
- 추천(Recommend) — 소비 예측 기반 카드 조합 최적 추천을 수행
각 도메인의 상세 엔드포인트는 아래 문서를 참고해주세요.
👉 API 상세 문서 보러가기
<이미지>
| 구분 | 링크 | |
|---|---|---|
| 소개(발표) 자료 | ➡️ | |
| ERD 설계서 | ➡️ | |
| Figma 기획 파일 | ➡️ | |
| API 명세서 | ➡️ |

