Skip to content

[KB IT's Your Life 5기 최종 프로젝트] beBig 백엔드

Notifications You must be signed in to change notification settings

Eundongdong/beBig_back

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BeBig : 금융 공공데이터 포탈 기반의 고객 금융자산 분석 비교 서비스

link : http://bbbbick.duckdns.org:5173/user

서비스 스크린샷

[Front-end]

  • Vue.js : 3.5.3
  • pinia : 2.2.2
  • vite : 5.3.1

[Back-end]

  • SDK : 17 Oracle Open JDK 17p
  • Language level : SDK default
  • Gradle
    • Distribution : Wrapper
    • Gradle JVM : JAVA_HOME Oracle OpenJDK 17
    • Tomcat : 9.0.91
    • Spring 3
    • Spring Security
      • jwt
    • Spring Batch 4.3.10
      • Quartz 2.3.0
    • SqlSessionFactory

[데이터베이스]

  • mySQL : 8.0.39
  • MockData 저장하여 실제 서비스 환경에 가깝게 구현하고자 함
    • 구성한 데이터 현황:
    • 유저 MockData 약 1만명 / 외 팀원 7인 실제 데이터
    • 계좌 MockData 약 2만5천개 / 실제 계좌 20개
    • 거래내역 MockData 약 9만개 / 실제 계좌별 1년치 거래 내역

1. 팀 소개

image


2. 프로젝트 개요 및 소개

(1) 💸프로젝트 주제 및 기획 배경

최근 빠르게 변화하는 금융 환경 속에서 개인의 자산 관리와 소비 습관은 경제적 성공을 좌우하는 핵심 요소로 떠오르고 있습니다. 그러나 많은 사람들이 자신의 자산을 효과적으로 분석하거나 목표에 맞는 금융 상품을 찾는데 어려움을 겪고 있으며 특히 소비 습관 개선에 대한 실질적인 도움을 받기 힘든 상황입니다. 이에 따라 금융 공공데이터를 활용해 개인화된 자산 분석과 맞춤형 소비 개선 방안을 제시하는 서비스가 필요합니다. 이러한 서비스를 통해 사용자는 자신의 재무 상태를 명확히 이해하고 목표를 달성할 수 있는 효과적인 방법을 찾을 수 있습니다.

(2) 프로젝트 추진 배경

image


최근 서로의 저축/지출 내역을 서로 평가하는 오픈채팅방 '거지방'까지 등장하게 됨 image

돈을 모으는데 가장 기본적인 행위인 '저축'에 초점을 맞추어 beBig에서 시키는 대로만 하면 돈을 잘 모을 수 있다는 인식을 심어주자 라는 목표를 갖게 됨

(3) 서비스 소개

| 사용자의 소비 성향에 맞춘 자산 분석 서비스

(4) 프로젝트 타겟 - 사용자 페르소나

image

(5) 프로젝트 목표

⭐️ 사용자의 자산 분석을 통해 개인화 미션과 상품 추천을 제공하여 경제적인 소비 습관을 개선하는 것 ⭐️

자산 분석을 통한 소비 습관 개선

사용자의 자산 상태를 체계적으로 분석하고 이를 바탕으로 최적의 금융 상품 추천 및 소비 습관 개선 방안을 제시합니다.

소비 습관 개선을 위한 미션 제공

사용자의 소비 패턴을 분석하여 일일 및 월별 맞춤형 미션을 제공합니다. 이 미션을 통해 사용자는 점진적으로 소비 습관을 개선하며 자산을 효과적으로 관리할 수 있게 됩니다.

개인 맞춤형 금융 상품 추천

사용자의 금융 유형에 맞춰 금융 공공데이터를 활용하여 최적의 예·적금 상품을 추천합니다. 특히 이자율과 사용자의 주 거래 은행 데이터를 기반으로 개개인에게 맞춤화된 상품을 제공하여 더 나은 금융 의사 결정을 지원합니다.

정보 공유를 통한 커뮤니티 활성화

사용자 간 자산 관리 및 금융 상품에 대한 정보 공유를 촉진하는 커뮤니티를 제공하여 경제적인 지식을 쌓을 수 있는 상호 학습과 협력을 장려합니다. 다른 사용자의 자산 관리 노하우를 배우고 함께 성장할 수 있는 기회를 제공합니다.


3. 주요 기능 소개

(1) 로그인

  • 일반 / 소셜 / 게스트 로그인

image

(2) 계좌 연결

  • 페이지네이션과 무한 스크롤을 이용한 거래내역 조회
  • CODEF API를 활용한 실제 계좌 연결

image

(3) 자산 분석

  • 연결된 계좌를 바탕으로 자산을 분석
  • 금융 공공데이터 API를 활용한 예/적금 상품 추천

image

(4) 유형 검사

  • 사용자 페르소나를 기반으로 소비 유형 검사
  • 사용자 마다 소비 유형을 가지며, 추후 유형에 따른 미션을 부여받음

image

(5) 개인화 미션 부여

  • 월간 미션 / 일간 미션을 랜덤으로 부여
  • 이번달 미션 달성도를 확인할 수 있게함
  • 지난달 미션 달성도에 따른 뱃지 부여

image

(6) 커뮤니티

  • 사용자 간 자산 관리 및 금융 상품에 대한 정보 공유를 촉진하는 커뮤니티를 제공
  • 필터링 기능 구현(카테고리, 소비 유형, 좋아요순, 최신순)
  • 게시글 페이지네이션 기능 구현
  • 사진 최대 3개 업로드 가능

image


4. 사용도구 및 기술

(1) 시스템 아키텍처

image

(2) ERD

image

(3) Tailwind CSS & 반응형 웹(FE)

  • Tailwind 표준 BreakPoint 활용해 반응형 웹 구축
    • 모바일 /PC 버전 모두 제공
  • 유틸리티 클래스 사용으로 훨씬 짧아진 코드
    • 평균 150줄의 style 코드 감소
    • 클래스 명명의 번거로움을 덞
  • 매우 세밀한 UI 디자인 기능

image image

(4) JWT를 통한 로그인 관리(BE)

image

(5) OAuth2.0을 통한 소셜 로그인 구현(BE)

image

(6) Codef API를 통한 실제 계좌 정보 조회 기능 구현(BE)

image

(7) Spring Batch와 Quartz를 통한 스케쥴링 및 데이터 처리(BE)

batch

(8) GitHub Action을 이용한 CI/CD(BE)

image

(9) 배포

  • AWS : ec2, S3

5. 사용 협업 툴

- Jira, Notion, Github, Figma

(1) Jira

  • Jira를 사용해 WBS를 만들어 일정, 진행상황, 담당자 파악을 정확히 함
  • 자동화를 이용해 이슈를 빠르게 파악하고, 현재 진행 상황과 담당자와의 소통 향상 image image

(2) Notion

image

(3) Github

Git flow image

Git Convention 정의 image

PR 리뷰 image

(4) Figma

image

About

[KB IT's Your Life 5기 최종 프로젝트] beBig 백엔드

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%