**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) | 프로젝트 마무리 (시연 영상, 포트폴리오) |
- Vue.js 3 · Pinia · Vue Router
- Axios · Bootstrap 5 · FontAwesome
- 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
- ErdCloud 사용
- 사용자 정보, 목표 설정, 금융상품, 정책정보, 추천 결과 등으로 구성된 도메인 중심 설계
- 정규화된 테이블 구조로 효율적인 데이터 관리
































