mz세대를 위한 챌린지형 저축 서비스
2023.06.26~2023.08.18
4인
코로나 시대를 겪으면서 자신의 경험가치를 위한 다양한 소비전략(무지출 챌린지, 거지방, 디지털 폐지줍기 등)이 유행하고 있습니다. 땡그랑은 자신만의 목표금액을 설정하고 일일 단위로 해당 목표에 도전하며 자동 저축하는 챌린지형 저축 서비스를 제공합니다.
- 사용자는 저축계좌와 출금계좌, 일일 목표 금액을 설정합니다.
- 목표 금액보다 적은 금액을 사용했을 때에는 챌린지 성공 -> 차액 저축
- 목표 금액보다 많은 금액을 사용했을 때에는 챌린지 실패
- 스트릭과 그래프등 시각 자료를 통해 자신의 소비습관 확인
- 커뮤니티를 통해 금융 뉴스 정보 확인 및 다른 사용자들과 정보 공유
- 총 4대의 AWS EC2를 사용하여 각각 젠킨스, DB, 스프링 부트, 리액트 서버로 활용했습니다.
- 스프링 부트의 경우 GitHub를 통해 배포하게 되면 젠킨스와 Docker를 사용해 구축한 파이프라인을 통해 스프링 부트 서버로 자동으로 배포하도록 구현했습니다.
- 사용자 로그인 시 JWT 토큰을 발급
- 서버 호출시 토큰을 사용해 사용자 인증
- 오픈 API에서 제공하지 않는 카테고리와 이미지를 직접 가져오고, 실시간으로 변하는 뉴스 정보를 위해 Jsoup 라이브러리를 사용해 뉴스 정보를 직접 크롤링해 정보를 제공합니다.
-
뉴스 정보를 크롤링 할때 발생하는 중복 내용을 필터링 하기 위해 자연어 처리 모델인 ChatGPT API를 활용 했습니다.
- 총 20개의 뉴스 정보를 가져오고 제목을 비교해 최대한 서로 다른 10개의 뉴스 정보를 필터링
-
구현 시 테스트를 위해 필요한 거래내역을 만들기 위해 가상의 인물 정보와 JSON형식의 반환 타입이 포함된 프롬프트를 작성하고 ChatGPT API를 통해 데이터를 생성했습니다.
스프링 부트의 Scheduler를 사용해 정해진 시간마다 데이터를 생성합니다.
- 뉴스 정보의 경우 1시간 마다 새로운 뉴스 정보를 크롤링해 저장하고 기존의 정보를 삭제합니다.
- 매일 오전6시 새로운 가상의 데이터를 생성하고 데이터 베이스에 저장하고, 챌린지 달성 여부를 저장하고 초기화 합니다.




