[Project] SubTrack: AI 기반 구독 관리 및 자동 알림 서비스

changi123·2026년 2월 1일

프로젝트

목록 보기
5/6
post-thumbnail

🚀 SubTrack: AI 기반 스마트 구독 가계부 서비스

서비스 URL: https://subtrack.kr
핵심 가치: AI 기반 자동화, 사용자 맞춤형 푸시 알림


1. 📋 서비스 소개

SubTrack은 흩어져 있는 구독 서비스(OTT, 소프트웨어 등)를 한곳에서 관리하고, 결제일 전 알림을 통해 불필요한 지출을 방지하는 개인 맞춤형 구독 관리 솔루션입니다.

  • Smart: OpenAI API를 활용해 서비스명만 입력해도 요금제 정보 자동 완성.
  • Proactive: 결제 3일 전, 잊지 않도록 푸시 알림(Web Push) 발송.
  • Light: 별도 설치가 필요 없는 PWA(Progressive Web App) 기반의 앱 경험 제공.

2. 🛠 Tech Stack

구분기술 스택비고
FrontendReact.js, Vanilla CSSMobile First (max-width: 480px)
BackendCloud Functions v2Node.js 22+, Daily Scheduler (01:00 KST)
DatabaseCloud FirestorecollectionGroup 쿼리 기반 데이터 통합 관리
AuthFirebase AuthGoogle OAuth 기반 간편 로그인
PushFCM (Web Push)푸시 알림 엔진

💡 핵심 트러블슈팅: Firestore Indexing

[Issue] FAILED_PRECONDITION (Code: 9)

모든 유저의 하위 컬렉션을 통합 검색하는 collectionGroup 쿼리 사용 시, 인덱스 부재로 인해 배치 엔진이 중단되는 문제 발생.

[Solution] 단일 필드 컬렉션 그룹 색인 활성화

  • 문제 원인: 단일 컬렉션 범위의 색인만으로는 하위 컬렉션 전체 검색 불가.
  • 해결 방법: subscriptions 컬렉션의 date 필드에 대해 '컬렉션 그룹(Collection Group)' 범위를 수동으로 활성화하여 해결.

🎯 향후 업데이트 계획

  • 지출 리포트: 월별 구독료 지출 통계 시각화.
  • 카테고리 자동 분류: AI 기반 구독 항목 분류.

🌙 Maintenance Log (2026.02.02)

  • FCM Web Push 인프라 구축 완료.
  • Firestore 복합/단일 필드 색인 최적화 완료.
  • 새벽 00시 배치 스케줄러 정상 작동 확인.
profile
개발자 홍찬기 꾸준한 사람이 되자

0개의 댓글