Problem
어떤 문제를 풀었나
현금 중심의 기부 방식은 자금 사용처에 대한 불확실성으로 인해 사용자들의 신뢰를 얻기 어려웠고, 사용자가 직접 기부처를 선택하고 절차를 거치는 과정이 번거로우며 경제적 부담 또한 기부 참여를 어렵게 만들었습니다. 또...
Project Detail
일상 속 잔돈으로 시작하는 투명한 기부 플랫폼
사용자의 잔돈을 간편결제로 자동 기부하여, 직접 금전 기부의 부담을 줄이고 투명한 크라우드 펀딩 참여를 가능하게 하는 핀테크 서비스입니다.
기간
2024.02 ~ 2024.04
팀 구성
6명 (FE 3 / BE 3)
기술 스택
12개 기술 사용
Problem
현금 중심의 기부 방식은 자금 사용처에 대한 불확실성으로 인해 사용자들의 신뢰를 얻기 어려웠고, 사용자가 직접 기부처를 선택하고 절차를 거치는 과정이 번거로우며 경제적 부담 또한 기부 참여를 어렵게 만들었습니다. 또...
Contribution
인프라 구축 및 CI/CD 파이프라인 자동화 · MSA 및 BFF 패턴 기반 백엔드 설계
Outcome
최우수 성과와 함께 간편결제 연동 잔돈 기부 자동화로 심리적/경제적 부담 최소화
사용자의 잔돈을 간편결제로 자동 기부하여, 직접 금전 기부의 부담을 줄이고 투명한 크라우드 펀딩 참여를 가능하게 하는 핀테크 서비스입니다.
Target User
기부에 관심이 있지만 투명성과 경제적 부담으로 망설이는 MZ세대
Core Experience
일상 속 잔돈으로 시작하는 투명한 기부 플랫폼
Why It Matters
간편결제 연동 잔돈 기부 자동화로 심리적/경제적 부담 최소화
기부에 대한 신뢰 부족과 경제적 부담이라는 현실적인 문제를 해소하기 위해 개발된 핀테크 기반 기부 플랫폼입니다. 기존의 금전 기부 방식에서 벗어나, 필요한 물품을 직접 구매하는 형태의 크라우드 펀딩 참여를 가능하게 하여 기부의 투명성을 높이고, 일상 속 간편결제 시스템을 연동함으로써 자연스럽고 부담 없는 기부 경험을 제공하는 것을 목표로 합니다.
현금 중심의 기부 방식은 자금 사용처에 대한 불확실성으로 인해 사용자들의 신뢰를 얻기 어려웠고, 사용자가 직접 기부처를 선택하고 절차를 거치는 과정이 번거로우며 경제적 부담 또한 기부 참여를 어렵게 만들었습니다. 또한 기존 플랫폼에서는 사용자의 소비 데이터와 기부 연계를 자동화하는 데 한계가 있었습니다.
기부에 관심이 있지만 투명성과 경제적 부담으로 망설이는 MZ세대
What makes this project special
간편결제 연동 잔돈 기부 자동화로 심리적/경제적 부담 최소화
물품 크라우드 펀딩 구조로 기부금 사용처 시각적 확인 가능
카카오페이/토스 자동 저축 기능에서 착안한 습관화 기부 모델
QR코드 결제 시 잔돈이 자동으로 기부금으로 적립
기부 영수증을 통한 기부 내역 투명하게 확인
이음페이는 기부에 대한 신뢰 부족과 경제적 부담이라는 현실적인 문제를 해소하기 위해 개발된 핀테크 기반 기부 플랫폼입니다. 기존의 금전 기부 방식에서 벗어나, 일상 속 간편결제 시스템과 잔돈을 연동하여 자연스럽고 부담 없는 기부 경험을 제공합니다.

기부 + 간편결제 + 잔돈의 결합. Toss, 삼성페이, 네이버페이, 카카오페이 등 다양한 간편결제와 연동하여 결제 후 발생하는 잔돈을 자동으로 기부금으로 적립하고, 물품 구매 형태의 크라우드 펀딩으로 기부 투명성을 확보합니다.

MZ세대를 대상으로 한 기부 인식 조사 결과, '기부는 소비다', '통 큰 기부보다 십시일반', '신뢰성 원하지만 복잡한 건 싫어'라는 키워드가 도출되었습니다. 한국의 기부 참여율은 2011년 36.4%에서 2021년 21.6%로 하락하며, 기부 문화에 대한 새로운 접근이 필요한 시점입니다.

기존의 현금 중심 기부 방식은 자금 사용처에 대한 불확실성으로 인해 사용자들의 신뢰를 얻기 어려웠습니다. 정기 후원의 경우 월 4~5만원의 고정 지출이 발생하여 경제적 부담이 컸습니다.

기존 기부 플랫폼은 온라인 신청, 약정서 작성, 무통장 입금, CMS 자동이체 등 여러 단계를 거쳐야 했습니다. 고향사랑기부제의 경우에도 지자체 선택부터 포인트 결제까지 7단계 이상의 복잡한 절차가 필요했습니다.
카카오페이, 토스의 자동 저축 기능에서 아이디어를 얻어, '잔돈 기부 + 물품 펀딩' 결합 모델을 기획했습니다. 기부를 습관화하고 투명하게 만들 수 있는 핀테크 기반 서비스입니다.

다양한 카드를 등록하고 대표 카드를 설정하여 기본 결제 수단을 선택할 수 있습니다.

QR 코드를 스캔하여 오프라인 결제를 진행하고, 결제 시 발생하는 잔돈이 자동으로 기부금으로 적립됩니다.

진행 중인 모금 프로젝트 목록에서 원하는 기부처를 선택하고, 자동 기부 연동을 설정할 수 있습니다.

원하는 금액을 직접 입력하여 다양한 모금 프로젝트에 기부할 수 있으며, 기부 완료 후 결과를 확인할 수 있습니다.

전화번호를 통해 상대방을 검색하고, 간편하게 송금할 수 있습니다.

결제 시 잔돈이 자동으로 기부되며, 기부 영수증을 통해 기부 내역을 투명하게 확인하고 공유할 수 있습니다.

기능 간 결합도를 낮추고 확장성을 위해 MSA 구조를 도입하고, 프론트엔드 맞춤형 API 응답을 위해 BFF 패턴을 적용했습니다.
사용자 경험 향상을 위한 핵심 편의 기능들을 구현했습니다. 문자 인증, OCR 카드 인식, 실시간 푸시 알림 등을 통해 간편하고 안전한 서비스를 제공합니다.

휴대폰 번호로 MMS 인증 코드를 전송하여 본인 확인을 수행합니다. Redis TTL 기반으로 인증 코드를 저장하고 유효 시간을 관리합니다.

Next.js ↔ Spring Boot ↔ Redis 간의 결제 비밀번호 인증 흐름입니다. 사용자 해시키를 Redis에 저장하고 결제 요청 시 2차 인증을 수행합니다.

카메라로 카드를 촬영하면 OCR로 카드 번호를 자동 인식합니다. 직접 입력 없이 간편하게 카드를 등록할 수 있어 사용자 편의성과 입력 오류 방지 효과가 있습니다.

결제, 기부 등 주요 이벤트 발생 시 실시간 알림을 전송합니다. Common 서비스에서 Kafka로 알림 데이터를 발행하고, Alert 서비스가 구독 후 FCM을 통해 PWA 앱으로 푸시합니다.
Engineering details and infrastructure
시스템 아키텍처
User, Pay, Donation, Notification, Gateway 서비스를 완전히 독립된 마이크로서비스로 운영하여 새로운 기능 추가나 유지보수 시 다른 서비스에 영향 없이 유연하게 대응 가능
Web/App 프론트엔드별 전용 BFF 구성으로 불필요한 데이터 전달 없이 클라이언트 맞춤형 응답 제공, 통신 비용 절감 및 사용자 경험 최적화
마이크로서비스 간 REST 통신을 선언형 인터페이스로 구성하여 코드 가독성 향상, Fallback 처리로 장애 대응력 확보
서비스 단위 CI/CD 파이프라인 구성으로 팀 간 병렬 개발 가능, 운영 효율성 상승
모든 서비스를 Dockerfile로 컨테이너화하고 docker-compose로 단일 네트워크 내 독립적 통신 구성, 로컬과 운영 환경 동일한 구조로 실행
GitLab 연동 자동 빌드/배포, 변경된 서비스만 선별 빌드하는 증분 빌드 전략으로 배포 시간 최적화 및 리소스 낭비 방지
application.yml 등 환경 설정 파일을 Jenkins 빌드 시점에 동적 생성, 민감 정보는 Secret Manager에서 주입하여 Git 노출 방지
Technical challenges encountered during the project and solutions
기존 웹 기반 SSE/WebSocket 방식은 PWA에서 한계가 있었고, 모바일 네이티브에 가까운 푸시 알림 경험과 안정적이고 확장 가능한 메시징 구조가 필요했습니다.
Kafka 기반 메시지 소비자 서비스를 도입하여 비동기 메시지 처리 구조를 구축하고, FCM 토큰 업데이트 및 저장 처리 로직을 구현하여 메시지 수신부터 알림 전송까지 전 과정을 자동화했습니다.
서비스 규모 확장에 따른 기능 간 결합도 문제, 다양한 프론트엔드 환경(Web, App)에 맞는 API 최적화 필요, 마이크로서비스 간 통신 복잡성 및 유지보수 문제가 발생했습니다.
기능별 마이크로서비스 분리(User/Pay/Donation/Notification), API Gateway를 통한 인증/라우팅 처리, 프론트엔드별 맞춤형 BFF 레이어 구성, OpenFeign 기반 선언형 HTTP 통신으로 가독성 및 fallback 처리를 통한 안정성을 확보했습니다.
수동 빌드 및 배포 과정에서 휴먼 에러와 비효율 발생, 서비스별 변경 사항 추적 및 선택적 배포의 어려움, 설정 파일 관리 및 운영 환경 일관성 유지 문제가 있었습니다.
GitLab + Jenkins 연동으로 코드 커밋 → 빌드 → 도커 이미지 생성 → 배포 자동화, 증분 빌드 전략으로 변경된 서비스만 재배포, 구성 파일은 Jenkins에서 동적 생성하고 민감 정보는 외부 주입 방식을 사용했습니다.
이번 이음페이 프로젝트는 핀테크 기반 기부 시스템이라는 주제를 중심으로 실시간 처리, 사용자 편의성, 자동화된 배포까지 다양한 기술을 폭넓게 적용하며 진행되었습니다. MSA 아키텍처, BFF 패턴, Kafka 기반 메시징, CI/CD 자동화, Redis 인증, FCM 푸시 알림 등의 기술을 실제 서비스에 반영하며 실무적 역량을 향상시킬 수 있었습니다.
MSA 및 BFF 패턴을 통해 백엔드 시스템의 모듈화를 실현, 기능 단위 독립적 개발과 배포로 유지보수 효율성과 확장성 확보
Jenkins와 Docker 기반 자동 배포 구조로 개발 주기 단축, 프론트엔드 및 백엔드 간 협업 원활화
Kafka + FCM 푸시 알림으로 사용자의 주요 액션에 빠른 피드백 제공, 사용자 경험 측면에서 긍정적 반응
인프라 자동화 및 보안 구조 강화로 배포 안정성과 운영 신뢰성 확보
모든 서비스가 하나의 DB를 공유하는 구조로 구현되어 진정한 MSA라기보다 유사 구조에 가까움. 도메인별 DB 분리 필요
배포 시 서비스 일시 중단 문제 발생. Blue-Green, Rolling Update 등 무중단 배포 구조 적용 필요
Kafka를 FCM 푸시 알림 전달용에 한정 사용. 서비스 간 비동기 통신, 이벤트 소싱 등 다양한 활용 가능성 미탐색
도메인별 DB 분리를 통한 완전한 MSA 구조 구현
Blue-Green 또는 Rolling Update 기반 무중단 배포 적용
Kafka를 활용한 서비스 간 비동기 통신 확대
모니터링 및 로깅 시스템 고도화