Push Catcher

똑똑한 카드 실적 관리 앱

카드사 푸시 알림을 자동으로 캐치해서 거래 내역을 추적하고,
실적을 한눈에 관리할 수 있는 Android 앱입니다

왜 Push Catcher인가?

자동
푸시 알림 자동 캐치
실시간
실적 현황 추적
간편
SMS 자동 전송
안전
TOTP 기반 인증

주요 기능

🔔

푸시 알림 캐치

카드사 앱의 푸시 알림을 실시간으로 감지하고, 자동으로 거래 정보를 파싱해서 기록합니다

💳

카드 실적 관리

카드별로 목표 금액을 설정하고, 현재 달성률을 한눈에 확인할 수 있어요

📨

SMS 자동 전송

거래 알림을 특정 번호로 자동 전송하고, 필터 설정으로 원하는 알림만 선택할 수 있습니다

📊

거래 내역 관리

카드별, 날짜별로 거래 내역을 필터링하고, 상세한 통계를 확인할 수 있어요

🔐

안전한 인증

TOTP 기반 2단계 인증과 신뢰된 기기 관리로 데이터를 안전하게 보호합니다

📈

상세한 분석

기간별 거래 통계와 달성률을 확인하고, 소비 패턴을 분석할 수 있습니다

이렇게 동작해요

1️⃣ 카드 등록

  • 카드사, 카드명, 목표 금액 설정
  • 카드별로 맞춤 설정 가능
  • 수동으로 실적 추가도 가능

2️⃣ 자동 추적

  • 카드사 푸시 알림을 실시간 감지
  • 거래 정보 자동 파싱 및 저장
  • 배터리 최적화로 효율적 동작

3️⃣ 실적 확인

  • 카드별 실적 현황 한눈에 확인
  • 목표 달성률 실시간 업데이트
  • 거래 내역 필터링 및 통계

기술 스택

Android App

Kotlin Jetpack Compose Material Design 3 MVVM Coroutines StateFlow Ktor Client NotificationListenerService WorkManager DataStore Coil Lottie

Backend API

Node.js Express.js Supabase PostgreSQL RESTful API TOTP Auth

Web CMS

React Vite Tailwind CSS React Router Chart.js

시스템 아키텍처

┌─────────────────────────────────────────────┐ │ Android App (Push Catcher) │ ├─────────────────────────────────────────────┤ │ UI Layer (Jetpack Compose) │ │ - MVVM Pattern │ │ - Material Design 3 │ │ - StateFlow │ │ ↓ │ │ Business Layer │ │ - ApiAuthManager │ │ - ApiRepository │ │ ↓ │ │ Network Layer │ │ - Ktor HttpClient │ │ - API Services │ │ ↓ │ │ Service Layer │ │ - PushListeningService │ │ - PushCatcherService (SMS) │ └─────────────────────────────────────────────┘ ↓ HTTPS ┌─────────────────────────────────────────────┐ │ Backend API (Express.js) │ │ - RESTful API │ │ - TOTP Authentication │ │ - Card Management │ │ - Transaction Tracking │ └─────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────┐ │ Database (Supabase/PostgreSQL) │ └─────────────────────────────────────────────┘

UI 아키텍처

  • Jetpack Compose로 선언적 UI
  • MVVM 패턴으로 깔끔한 구조
  • StateFlow로 반응형 데이터
  • Material Design 3 적용

서비스 아키텍처

  • NotificationListener로 푸시 감지
  • 자동 파싱 및 데이터 전송
  • SMS 자동 전송 서비스
  • 백그라운드 안정성 보장

인증 시스템

  • 이메일 화이트리스트 관리
  • TOTP 2단계 인증
  • 신뢰된 기기 관리
  • Magic Link 로그인

핵심 기능 상세

🔔 푸시 알림 캐치

Android의 NotificationListenerService를 활용해서 카드사 앱의 푸시 알림을 실시간으로 감지합니다. 알림이 오면 자동으로 파싱해서 카드사명, 카드명, 금액, 가맹점 정보를 추출하고, 백엔드 API로 전송해서 저장합니다.

  • 배터리 최적화를 고려한 효율적인 리스너 구현
  • 다양한 카드사 알림 포맷 지원 (정규식 기반)
  • 오프라인 시 로컬 저장 후 동기화
  • 중복 알림 자동 필터링

💳 카드 실적 관리

카드별로 목표 금액을 설정하면, 실시간으로 현재 달성률을 확인할 수 있습니다. 푸시 알림으로 캐치된 거래뿐만 아니라, 수동으로도 실적을 추가할 수 있어요.

  • 현재 금액 / 목표 금액 한눈에 확인
  • 달성률 프로그레스 바로 시각화
  • 거래 횟수 및 평균 거래 금액 통계
  • 월별 자동 리셋 및 히스토리 관리

📨 SMS 자동 전송

카드 거래 알림을 자동으로 특정 번호로 SMS 전송할 수 있습니다. 특정 앱만 선택해서 전송하거나, 전체 알림을 전송할 수 있고, 전송 내역도 확인 가능합니다.

  • 필터 설정으로 특정 앱만 선택 전송
  • 전송 실패 시 자동 재전송
  • 전송 내역 확인 및 관리
  • 포그라운드 서비스로 안정적 전송

🔐 TOTP 인증 시스템

구글 Authenticator 방식의 TOTP 2단계 인증으로 계정을 안전하게 보호합니다. 신뢰된 기기로 등록하면 30일간 OTP 입력 없이 로그인할 수 있어요.

  • 이메일 화이트리스트로 가입 제한
  • TOTP 6자리 코드 인증
  • 신뢰된 기기 관리 (30일 유효)
  • Magic Link를 통한 이메일 인증

연락처

프로젝트에 대해 궁금한 점이 있거나 문의 사항이 있으시면 언제든 연락주세요

GitHub: github.com/hwanyc-repository

Repository: Private Repository

Made with ❤️ by hwanyc