Skip to content
@IE-bbuda

IE-bbuda

아이이뿌다

MZ 세대를 위한 자산 관리 서비스 MoZi


📌 프로젝트 개요

**Mozi(모지)**는 청년층 사용자의 퍼스널 정보(연령, 소득, 취업 상태 등)와 자산 목표를 기반으로
신청 가능한 정책 지원 정보와 금융 상품을 통합하여 추천하는 맞춤형 자산관리 서비스입니다.

적합도 점수화 알고리즘을 통해 사용자의 상황과 목표에 최적화된 혜택을 직관적으로 탐색할 수 있으며,
재무 목표 설정 → 달성률 확인 → 전략 제안 → 외부 자산관리 연계까지 실질적인 자산관리 경험을 제공합니다.


👥 팀원 소개

이름 역할 GitHub 담당 업무
한지은 팀장 / 프론트엔드 개발 총괄 @jieunee32 정책 탐색 페이지(API) 구현, 스크랩 기능 개발
장수영 부팀장 / 백엔드 개발 총괄 @jsy1021 금융 탐색 페이지(API) 구현, 스크랩 기능 개발
김경민 발표/기획 총괄 @kyuoummi 로그인/회원가입 기능 개발, 마이페이지/퍼스널 정보 구현
김선영 백엔드 개발 총괄 @seonyeong111 백엔드 개발 총괄, 계좌 연동 기능(API) 개발, 내 계좌 페이지 구성
박세연 문서/기록 관리 총괄 @se-3-yeon 문서 및 기록 관리 총괄, 자산 목표 설정 기능 개발, 목표 페이지 구현
박주용 기능 테스트 및 피드백 총괄 @ju1645 자산 목표 설정 기능 개발, 목표 페이지 구현
이수현 GitHub 관리 총괄 @soohyun1904 로그인/회원가입 기능 개발, 마이페이지/퍼스널 정보 구현
최준혁 프론트엔드 개발 총괄 @choijoonhyeok 계좌 연동 기능(API)개발, 내 계좌 페이지 구성

📅 개발 기간

  • 전체 기간: 2025년 7월 9일 ~ 2025년 8월 21일 (총 1.5개월)

🗓️ 주요 일정

기간 내용
1주차 (7.9 ~ 7.13) 프로젝트 기획 및 설계 (요구사항 정의, 화면·ERD 설계)
2주차 (7.14 ~ 7.29) 백엔드 기본 기능 개발 (회원 관리, 인증/인가)
3주차 (7.21 ~ 7.27) 금융/정책 데이터 연동 (FSS API, 온통청년 API)
4주차 (7.28 ~ 8.3) 프론트엔드 UI/UX 개발 (목표 설정, 마이페이지)
5차 (8.4 ~ 8.10) 통합 테스트 및 개선 (프론트-백엔드 연동, UI 통일)
6주차 (8.11 ~ 8.17) 테스트, 버그 수정, UI 수정, 포트폴리오 작성
7주차 (8.18 ~ 8.21) 프로젝트 마무리 (시연 영상, 포트폴리오)

🛠️ 개발 환경 및 기술 스택

🖥 Frontend

  • Vue.js 3 · Pinia · Vue Router
  • Axios · Bootstrap 5 · FontAwesome

⚙️ Backend

  • Java 17 · Spring MVC/Security
  • MyBatis · MySQL
  • JWT 인증 · OAuth2 (Kakao, Google)
  • FSS API · 공공데이터 API · 정책 스크래핑

🔧 협업 및 관리 도구

  • GitHub: 브랜치 전략 (개인 작업 브랜치 → 기능별 서브 브랜치 → main 병합),
    Issues 기반 이슈 관리, Pull Request 코드 리뷰
  • Notion: 회의록, 일정 관리, 문서화
  • Figma: 와이어프레임, 프로토타입, UI/UX 협업
  • Zoom / Zep / Slack: 회의 및 실시간 커뮤니케이션


🎯 프로젝트 목표

  • 🔍 분산된 정책 및 금융 정보의 통합 제공
    → 여러 기관에 흩어진 정보를 사용자 중심으로 통합

  • 🧠 퍼스널 정보 기반 맞춤 추천 시스템 구축
    → 사용자의 조건과 목표에 맞는 신청 가능 혜택 자동 선별

  • 📊 정보의 시각화 및 전략 제공
    → 목표 달성률, 예상 달성 시점, 추천 전략 등을 실시간 제공

  • 🤝 행동으로 이어지는 사용자 경험 설계
    → 혜택 탐색에서 신청·가입까지의 흐름을 고려한 UX

  • 📈 청년층의 자산관리 루틴 정착
    → Mozi를 통해 자산관리를 생활 속 루틴으로 만듦


✨ 주요 기능

기능 구분 설명
💸 금융 상품 탐색 예금·적금 상품 조건 필터링, 금리 비교, 가입 은행별 정렬
🎯 목표 기반 추천 사용자 목표(예: 여행 자금, 전세자금 등)에 맞춘 금융상품 추천
🧾 정책 매칭 연령, 지역, 직업 등 퍼스널 정보 기반 정책 추천
📊 진행률 시각화 목표 대비 자산 상태를 시각화하여 달성률, 예상 달성 시점 제공
📌 스크랩 기능 관심 있는 정책/금융 상품 즐겨찾기
🔎 무한 스크롤 탐색 금융/정책 상품 리스트에서 무한 스크롤 기능 제공
🧠 적합도 점수화 사용자 정보와 목표 적합도를 점수화하여 우선순위 제공

✨ 서비스 기능

로그인 및 회원가입

  • 로그인: 일반 로그인 및 소셜 로그인 지원
  • 회원가입: 이메일 인증 기반 사용자 확인

퍼스널정보

  • 사용자 퍼스널 정보 입력 기능 제공
  • 입력된 정보는 맞춤 정책 추천에 활용

계좌 연동

  • 약관 동의 후 은행 ID 기반 계좌 연동 지원
  • 연동 자산은 메인 및 자산 페이지에서 조회/관리 가능 (상세 조회, 주거래은행 설정, 연동 해지)

목표 기능

  • 기본 목표(1억) 및 사용자 맞춤 목표 설정 가능 (목표명·금액·기간·계좌 연동 등)
  • 설정된 목표와 연관된 정책 및 금융 상품 추천
  • 목표 달성 시 주거래은행 자산 관리 센터로 연계

추천 기능

  • 목표가 설정되어있지 않은 경우 목표를 설정하도록 유도
  • 사용자가 설정한 목표들에 대한 정책, 금융 상품에 대한 정보를 통합 조회 가능

탐색 기능

  • 금융/정책 정보 탐색 기능 제공
  • 조건별 필터(가입 방법·기간·은행) 및 금리 정렬 지원
  • 퍼스널 정보 기반 정책 탐색 + 지역·연령·연소득 커스텀 탐색 가능

스크랩 기능

  • 금융, 정책 정보에 대한 스크랩 정보 저장, 삭제 구현

⚒️ 이슈 해결 및 트러블 슈팅

  • 예·적금 상품 조회, 정책 조회 시 발생한 중복 쿼리를 캐싱 도입으로 최적화
  • 예·적금 상품 조회 시 옵션 조회에서 발생한 N+1 문제 → 조인 기반 쿼리 + ResultMap 매핑으로 해결

🔍 개선 및 고도화 계획


📐 시스템 아키텍처

  • Frontend ↔ Backend ↔ API 연동 구조
  • JWT 기반 인증 처리 및 OAuth2 로그인
  • 정기 API 동기화 및 정책 스크래핑 (Scheduler)
  • 목표 기반 추천 로직 및 적합도 점수화 알고리즘 구성


📁 프로젝트 폴더 구조

🖥 프론트엔드

📦
mozi-frontend
├─ public(이미지 저장 폴더)
│  └─ images
│     ├─ account
│     ├─ financial
│     ├─ goal
│     └─ recommend
├─ src
│  ├─ api(API 요청 스크립트 폴더)
│  ├─ App.vue
│  ├─ assets(정적 아이콘 저장 폴더)
│  │  └─ icons
│  │      ├─ bottom-nav
│  │      ├─ common
│  │      └─ top-nav
│  ├─ components(컴포넌트 관련 폴더)
│  │  ├─ goal
│  │  ├─ icons
│  │  ├─ layouts
│  │  └─ profile
│  ├─ constants(정적 데이터 관련 폴더)
│  ├─ main.js
│  ├─ pages(페이지 관련 폴더)
│  │  ├─ account
│  │  ├─ auth
│  │  ├─ goal
│  │  ├─ recommend
│  │  │  ├─ financial
│  │  │  ├─ policy
│  │  ├─ scrap
│  │  ├─ search
│  │  │  ├─ financialSearch
│  │  │  │  └─ util
│  │  │  ├─ policySearch
│  │  │  │  └─ util
│  │  └─ user
│  ├─ router(라우터 관리 폴더)
│  └─ stores(상태 관리 폴더)
└─ vite.config.js(빌드 도구 설정 파일)

⚙️ 백엔드

📦
mozi-backend
├─ .github
├─ .gitignore
├─ build.gradle
├─ gradle
│  └─ wrapper
├─ gradlew
├─ gradlew.bat
├─ settings.gradle
└─ src
   ├─ main
   │  ├─ java
   │  │  └─ org
   │  │     └─ iebbuda
   │  │        └─ mozi
   │  │           ├─ common
   │  │           │  └─ response(API응답 명세 관련 폴더)
   │  │           ├─ config(설정 관련 폴더)
   │  │           ├─ domain(도메인 중심 설계+각 도메인은 계층별로 관리)
   │  │           │  ├─ account
   │  │           │  ├─ goal
   │  │           │  ├─ policy
   │  │           │  ├─ product
   │  │           │  ├─ profile
   │  │           |  |    ├─controller
   │  │           |  |    ├─domain
   │  │           |  |    ├─dto
   │  │           |  |    ├─mapper
   │  │           |  |    └─service
   │  │           │  ├─ recommend
   │  │           │  ├─ scrap
   │  │           │  ├─ security
   │  │           │  └─ user
   │  │           └─ exception(예외처리 관련 폴더)
   │  └─ resources
   │     ├─ log4j2.xml(로그 관련 설정 파일)
   │     ├─ mybatis-config.xml(MyBatis 설정 파일)
   │     └─ org
   │        └─ iebbuda
   │           └─ mozi
   │              ├─ domain
   │              │  ├─ account
   │              │  ├─ goal
   │              │  ├─ policy
   │              │  ├─ product
   │              │  ├─ profile
   │              │  ├─ recommend
   │              │  ├─ scrap
   │              │  ├─ security
   │              │  └─ user
   │              └─ mapper
   └─ test
      └─ java
         └─ org
            └─ iebbuda
               └─ mozi
                  ├─ config
                  ├─ domain
                  │  ├─ account
                  │  ├─ policy
                  │  ├─ profile
                  │  ├─ security
                  │  └─ user
                  └─ goal

🗄️ 데이터베이스 및 ERD

  • ErdCloud 사용
  • 사용자 정보, 목표 설정, 금융상품, 정책정보, 추천 결과 등으로 구성된 도메인 중심 설계
  • 정규화된 테이블 구조로 효율적인 데이터 관리


Popular repositories Loading

  1. mozi-frontend mozi-frontend Public

    Vue 1

  2. .github .github Public

  3. mozi-backend mozi-backend Public

    Java 1

Repositories

Showing 3 of 3 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…