저축 습관 만들기를 위한 핀테크 프로젝트 '모아용'의 API 서버
- 모아용 프로젝트 소개
- 앱 핵심 기능
- ERD
- API 서버 관리
- API Document
- 팀원 및 역할
- 주요 산출물
모아용은 출석 체크, 금융 퀴즈, 저축 인증을 통해 포인트를 획득하고, 이를 기반으로 리그에서 경쟁하는 핀테크 서비스입니다. 저축 습관이 부족한 대학생 및 사회초년생들이 소액이라도 꾸준히 저축하는 습관을 형성하도록 돕습니다.
- 꾸준한 저축 성공 경험 제공 → 장기적으로 정기예금, 적금 등의 저축 상품 활용 습관 형성
- 많은 사람들이 저축을 계획하지만 지속하기 어려움
- 모아용은 사용자의 일관된 저축 실천을 지원하며 경쟁 요소를 추가해 동기 부여
- 출석 인증, 금융 퀴즈, 저축 인증 기능을 통해 목표 달성을 도와줌
📌 기획 문서
📌 유저스토리
- OAuth2 로그인 (Spring Security 적용)
- JWT + Secure 쿠키 사용
- 온보딩 미완료 시 Redis 저장, 완료 후 DB 반영
📌 자세한 내용
- 매일 출석 체크 시 포인트가 제공됩니다.
- 출석 캘린더, 현재 연속 출석일과 최고 연속 출석일 정보 제공을 통해 꾸준한 출석을 유도합니다.
- 금융 개념이 어려운 2030을 위해 하루 5개의 핵심 금융 개념을 쉽게 제공합니다.
- 퀴즈 참여 시 포인트를 지급합니다.
- 목표 저축액을 설정하고, 해당 금액을 저축한 후 저축 내역을 캡처하여 인증할 수 있습니다.
- 저축 내역을 인증할 때 OpenCV를 이용해 이미지 전처리 후 Tesseract OCR을 이용하여 인증을 진행합니다.
- 폴링 방식을 통해 비동기로 인증을 진행하며 진행 상황을 Redis에 저장하여 클라이언트에게 전달합니다.
- 이미지는 S3에 업로드되며 클라이언트에게는 CloudFront로 배포된 이미지를 전달합니다.

- 시즌 시작 시 티어 기반 리그 생성
- 이전 시즌 CLOSE 처리, 리그멤버 상태 업데이트
- 새 시즌 시작 시 새로운 리그 자동 매칭
- Redis 캐싱 활용 (퀴즈, 온보딩, OCR 등 실시간 데이터)

- EC2-1 (운영 서버): Docker Compose로 Spring Boot, Redis, MySQL, Nginx 실행
- EC2-2 (Jenkins CI/CD 서버): 자동 빌드 및 배포
- S3 + CloudFront: 이미지 저장 및 배포
- Docker Hub 버전 관리
- Jenkins 기반 CI/CD 자동화
- Blue-Green 무중단 배포
현재 운영서버 (EC2-1) 에서 Blue 컨테이너가 실행중
- 개발자가 Github main branch 에 코드 push
- github webhook을 이용해 Jenkins (EC2-2)가 변경 감지
- Jenkins (EC2-2)가 변경 감지 후 빌드 & Docker 이미지 생성
- Jenkins (EC2-2)가 생성된 이미지를 Docker Hub에 Push
- Jenkins (EC2-2)가 EC2-1에서 Green 컨테이너 실행
- Green 컨테이너가 Docker Hub에서 최신 이미지 Pull 후 실행
- Nginx가 트래픽을 기존 Blue → Green으로 변경
- 문제없으면 기존 Blue 컨테이너 종료, 롤백 필요 시 다시 Blue로 전환
📌 자세한 설정 및 코드
📌 API 문서
- 팀장: 이태형 (백엔드)
- 부팀장: 유혜지 (디자인)
- PM: 이수연, 안소현
- 디자인: 유혜지, 권가은
- 백엔드: 이태형, 강문영
- 프론트엔드: 최석호