두더지처럼 깊이 파고 들어 Z세대를 위한 금융 정보를 제공하고 미래 계획을 도와주는 애플리케이션
-
Project Name: 두더Z Plan (Do The Z Plan)
-
🛠 기술 스택:
-
주요 기능:
- 금융 상품 정보 조회 및 리뷰
- 환율 계산기 및 환율 추이 차트
- 근처 은행 검색
- 사용자 맞춤형 설문 기반 상품 추천
- 군집화 알고리즘을 통한 사용자 맞춤 상품 추천
| Team FE | 신예주 | 이아영 | 이연규 👑 |
|---|---|---|---|
| Profile | |||
| GitHub ID | @yejushin2000 | @aaaange | @Da-413 |
| Role | 인근 은행 조회(MAP), 프로필, 설문조사, 금융 상품 추천 | 회원가입, 로그인, 로그아웃, 회원탈퇴, 금융 상품 리뷰, 환율 계산기 및 차트 | 메인페이지, 금융 상품 조회 및 상세 조회 |
| Team FE | 신예주 | 이아영 | 이연규 👑 |
|---|---|---|---|
| Profile | |||
| GitHub ID | @yejushin2000 | @aaaange | @Da-413 |
| Role | MAP API를 통한 인근 은행 DB, 상품 리뷰 기능, 환율 API DB | 회원가입, 로그인, 로그아웃, 회원탈퇴, 예적금 API DB | 메인페이지, 회원 프로필, 회원별 가입 금융 상품 및 금리 그래프, 설문조사 기능 및 DB, 군집화 비지도 학습 추천 시스템, 생성형 AI 챗봇 서비스 구현 |
| 기능 | 세부 설명 | 실제 구현 정도 |
|---|---|---|
| 메인 페이지 | 인증 상태에 따라 회원가입, 로그인, 프로필 페이지 등으로 이동 가능하며 금융 관련 기능으로의 네비게이션 제공 | ✅ |
| 회원가입 | 아이디, 비밀번호 조건 검증 및 회원가입 후 자동 로그인 처리 | ✅ |
| 로그인/로그아웃 | 아이디 비밀번호로 로그인 및 로그아웃 처리 | ✅ |
| 회원탈퇴 | 계정 및 관련 데이터 삭제 | ✅ |
| 프로필 관리 | 사용자 정보 조회 및 회원 정보 수정 가능 | ✅ |
| 가입 금융상품 조회 | 사용자가 가입한 금융상품 목록과 관련 정보 조회 및 금리 정보 시각화 | ✅ |
| 금리 그래프 조회 | 금융상품 금리 변동 그래프 시각화 | ✅ |
| 댓글 관리 | 예적금 상품에 대한 리뷰 작성, 조회, 수정, 삭제 기능 제공 | ✅ |
| 예적금 데이터 저장 | 금융상품 API 데이터를 필터링하여 DB에 저장 | ✅ |
| 예적금 조회 및 가입 | 예적금 목록 조회, 필터링, 상세 정보 출력, 가입하기 기능 제공 | ✅ |
| 환율 계산기 | 실시간 환율 데이터를 바탕으로 금액 변환 및 환율 추이 차트 제공 | ✅ |
| 은행 검색 | 카카오맵 API를 사용하여 근처 은행 정보 검색 및 출력 | ✅ |
| 설문조사 및 상품 추천 | 설문 응답 기반 금융상품 추천과 군집화 알고리즘을 통한 사용자 그룹 분석 | ✅ |
- 필터링 규칙 정의:
- 설문조사에서 사용자가 입력한 정보를 바탕으로 금융 상품을 필터링합니다.
- 사용자가 선호하는 조건(금리, 기간, 최소 예치금액 등)을 기반으로 금융 상품 데이터베이스를 조회합니다.
- 예)
- 금리 선호도: 3% 이상 → 금리가 3% 이상인 상품만 조회
- 기간 선호도: 12개월 → 가입 기간이 12개월과 일치하는 상품 필터링
- 예치금액: 100만 원 → 최소 예치금액이 100만 원 이하인 상품만 포함
- 목적:
- 설문조사 데이터를 기반으로 고객의 금융 상품 선택 패턴을 학습.
- 유사한 고객 군집을 생성하여 군집별로 가장 선호하는 상품을 추천.
- 데이터 준비:
- 더미 데이터 생성:
- 가상 고객 데이터를 생성하여 알고리즘 학습 및 테스트에 활용.
- 데이터 예시:
- 고객 ID:
user_01 - 설문 응답: 금리 선호도(3%), 가입 기간(12개월), 최소 예치금(100만 원)
- 추천된 금융 상품:
상품 A,상품 B,상품 C - 고객 최종 선택:
상품 A(랜덤 선택)
- 고객 ID:
- 데이터 형식:
dummy_data = [ {'user_id': 'user_01', 'interest_rate': 3, 'duration': 12, 'min_deposit': 100, 'chosen_product': 'A'}, {'user_id': 'user_02', 'interest_rate': 2.5, 'duration': 24, 'min_deposit': 50, 'chosen_product': 'B'}, ... ]
- 더미 데이터 생성:
- 군집화 알고리즘:
- 설문조사 응답 데이터를 기반으로 사용자를 군집화.
- 군집화 알고리즘(비지도학습)으로 유사한 사용자를 그룹화한 뒤 각 그룹에 적합한 금융 상품 추천.
- 금융 상품(예금, 적금)의 금리 및 세부 조건 조회.
- 상품별 리뷰 작성 및 수정/삭제 기능 제공.
- 실시간 환율 정보 제공.
- 사용자 입력 금액을 다른 통화로 변환 후 출력.
- 최근 3개월 환율 차트 제공.
- 사용자의 검색 위치를 기반으로 가까운 은행 검색.
- 은행 위치, 이름, 연락처 등의 정보를 표시.
- 설문조사를 기반으로 사용자에 맞는 금융 상품 추천.
- 군집화 알고리즘을 통한 금융 상품 추천
- 생성형 AI를 사용한 챗봇 기능 구현.
- 설문 조사 질문 생성 및 UI 개선 아이디어 도출.
- 금융 상품 추천 로직 설계 과정에서 AI를 활용해 최적화된 알고리즘 도출.
- 생성형 AI를 통한 챗봇 기능 구현
| 일시 | 내용 |
|---|---|
| 2024-11-18 | 기획, 구현 기능 및 일정 정리, 사용자 요구사항 명세서, 역할 분배, 프론트 초안 작성 |
| 2024-11-19 | 프론트 UI/UX 구성, ERD, 메인 페이지, USER(회원가입, 로그인, 로그아웃) 기능 구현, 인근 은행 서치 기능 구현 1차, 피그마로 초안(프로필 페이지, 추천 알고리즘) 완성 |
| 2024-11-20 | USER(회원가입, 로그인) UI 및 연동, 프로필 기능 구현, 설문조사 모델 구현, 프로필 페이지 UI |
| 2024-11-21 | 예적금 API DB, 예적금 전체 및 상세 조회 UI, 프로필 페이지 UI 및 기능 연동, MAP 수정 |
| 2024-11-22 | 상품 리뷰 UI, 회원 탈퇴 UI, 로그아웃 및 회원 탈퇴 기능 연동, 인증 토큰 수정, 예적금 전체 및 상세 조회 기능 연동, 설문조사 UI, |
| 2024-11-23 | 환율 계산기 UI, 회원별 가입 상품 UI 및 기능 구현, 상품 추천 페이지 UI |
| 2024-11-24 | 군집화 알고리즘, 필터링 추천 알고리즘 구현, 환율 예측 DB, 상품 리뷰 연동 |
| 2024-11-25 | 설문조사 DB 연동, 환율 계산기 DB 연동, 사용자 가입 상품 상세페이지 연동, 사용자 별 리뷰 수 업데이트, 지도 UI 업데이트, 필터링 알고리즘 연동, 전반적 CSS 디테일 수정 |
| 2024-11-26 | 군집화 알고리즘 연동, 리뷰 UI 업데이트, 환율 그래프 UI 업데이트, 프로필 금리 그래프 UI 업데이트, 전반적 CSS 통일, 회원정보 수정 UI, 생성형 AI 챗봇 서비스 구현, 프로젝트 발표 준비 |
cd back
pip install -r requirements.txt
python manage.py migrate
python manage.py runservercd front
npm install
npm run serveback/
├── accounts/ # 사용자 인증 및 관리
├── chatbots/ # 생성형AI 이용한 챗봇 서비스 기능
├── dothez/ # project 파일
├── exchange/ # 환율 데이터 관리
├── product/ # 금융 상품 데이터 관리
├── surveys/ # 설문조사 및 추천 기능
├── manage.py # Django 관리 스크립트
├── requirements.txt # 의존성 패키지front/
├── public/
│ ├── assets/
│ │ ├── banks/ # 공통 이미지 파일
├── src/
│ ├── components/ # 공통 및 주요 컴포넌트
│ ├── image/ # 컴포넌트 이미지 파일
│ ├── router/ # Vue Router 설정
│ ├── stores/ # Vuex 스토어 설정
│ ├── views/ # 페이지별 View 컴포넌트
│ ├── App.vue # 최상위 컴포넌트- 이연규 (팀장): 프로젝트 초기에 계획을 잘 세우고 지키는 것이 중요하다는 것을 느꼈다. 그런 부분에서 구체적인 계획을 세우고 업무를 분담시킬 수 있는 능력이 있는 팀원이 있다는 것이 큰 도움이 됐다. 협업하는 과정에서 실수할 것을 두려워 하지 않고 부딪혀 나가는 것에서 배운 점이 많은 것 같다. 시간이 부족해서 완벽한 구현은 안됐지만 초기에 생각했던 것 보다 더 근사한 완성품이 나와서 개인적으로는 만족스러운 프로젝트였다.
- 신예주: 이번에 참여한 첫 개발 프로젝트를 통해 개개인의 능력뿐만 아니라 팀원들 간의 소통, 협력 또한 중요하다는 것을 더욱 깨닫게 되었다. 또한 팀원 모두 백/프론트를 담당했던 경험은 추후에도 큰 도움이 될 것이라 생각한다. 앞으로의 팀 프로젝트에서도 체계적인 프로세스를 가지고 최선을 다해 임할 것이다 !
- 이아영: 개발 팀 프로젝트는 처음이었는데 이것 저것 부딪혀나가면서 함께 해결해 나가는 경험이 스스로 성장하는데 많은 도움이 되었다. 프로젝트를 진행하면서, 특히 금융 상품 추천 시스템과 같은 복잡한 알고리즘을 구현할 때 팀원들과의 원활한 협업이 얼마나 중요한지 다시 한 번 느꼈다. 각자 맡은 분야를 잘 분배하고 소통하면서 작업을 진행하는 것이 성공적인 프로젝트의 핵심이라는 생각이 들었다.
-
아쉬운 점
- 조금 더 개인화된 추천 알고리즘을 만들고 싶었으나 실패
- 환율계산기에서 시계열 분석을 활용하여 환율 예측을 시도하고 싶었으나 실패
- 상품 상세 페이지에 실제 은행 웹사이트로 가는 링크를 넣고자 했으나 실패
- 군집화에서 군집의 특성을 표시하고 싶었으나 실패
-
향후 개선 방향
- 실시간 데이터를 기반으로 군집화 모델 업데이트 및 고도화.
- 설문조사 외 추가 데이터(예: 고객의 이전 금융 거래 기록)를 활용한 추천 로직 강화.