Skip to content

TEAM-ISAID/.github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

ISAID

ISAID는 MZ세대를 위한
맞춤형 ISA 포트폴리오 분석 서비스입니다.

최근 MZ세대를 중심으로 투자에 대한 관심은 높아졌지만,
ISA 계좌의 구조나 세제 혜택, ETF 포트폴리오 구성은 여전히 복잡하고 진입장벽이 높습니다.
ISAID는 이러한 복잡함을 덜고, 누구나 직관적으로 투자 흐름을 파악할 수 있도록 기획되었습니다.

🔗 배포주소 : https://isaid.site/



System Architecture



ERD



화면 구성

첫 화면 홈 화면 ETF 챌린지 데일리 퀴즈
ETF 투자성향 테스트 ETF 추천 ETF 상세보기 마이페이지
ETF 투자 성향 테스트 금융 가이드 카테고리별 가이드 숏츠 가이드


⚙️ 주요 기능 요약

분류 기능 설명
사용자 회원가입 / 로그인 자체 인증 기반 회원 시스템 (Credentials + JWT)
ISA 계좌 ISA 계좌 등록/삭제 사용자는 ISA 계좌를 등록하고 삭제할 수 있음
ISA 계좌 수익률 조회 월별 기준으로 자산 수익률을 계산해 제공
ISA 계좌 포트폴리오 리밸런싱 기존 보유 ETF 기준으로 리밸런싱을 추천
ISA 계좌 절세 계산기 예상 절세 효과 및 만기 후 수령액 시뮬레이션
ETF 테마 / 카테고리별 ETF 조회 다양한 조건(테마/카테고리)으로 ETF 탐색 가능
ETF 투자 성향 테스트 투자 성향을 진단하고 맞춤 ETF를 추천
ETF ETF 차트 및 구성 종목별 구성 비중 및 수익률 차트 제공
퀴즈 금융 퀴즈 퀴즈로 금융 지식을 점검하고 캘린더에 기록
챌린지 퀴즈 보상 시스템 일정 조건을 달성하면 보상 수령 가능


📁 폴더 구조

app/ App Router 기반 페이지, 액션, API 라우트 구성
components/ 서비스 전반적으로 사용되는, 재사용 가능한 공통 UI 컴포넌트
context/ 클라이언트 상태 공유 (예: 헤더 컨텍스트)
services/ 핵심 알고리즘 계층 (ETF 추천, 리밸런싱 등)
lib/ DB 접근, API 호출, 인증 등 로직
data/ 선택지, 기본값, 샘플 데이터
types/ 공통 타입 정의
tests/, mocks/ 테스트 및 의존성 모킹 코드
prisma/ 데이터베이스 모델 및 마이그레이션
public/ 정적 파일 (폰트, 이미지 등)
설정 파일들 린트, 프리티어, 타입스크립트, 패키지 관리 설정


🛠 Tech Stack

Platforms & Languages

Deployment & Version Control

Development Environment

Communication & Management



📌 API 문서 요약

👤 사용자 (User)

메서드 경로 설명
POST /api/auth/join 회원가입
POST /api/auth/callback/credentials 로그인 (Credential 기반)
PATCH /api/user/update 회원정보 수정
DELETE /api/user/delete 회원 탈퇴
GET /api/user/me 내 정보 조회
POST /api/user/verify-pin PIN 인증
PATCH /api/user/reward-agree 보상 동의

💹 ETF

메서드 경로 설명
GET /api/etf/theme/{themeSlug} 테마별 ETF 리스트 조회
GET /api/etf/category/{categoryId} 카테고리별 ETF 리스트 조회
GET /api/etf/recommend 사용자 맞춤 ETF 추천
GET /api/etf/{etfId} 개별 ETF 상세 정보 조회
GET /api/etf/{etfId}/chart?range={period} ETF 기간별 차트 데이터 조회
GET /api/etf/{etfId}/pdf ETF 구성 비중 PDF 반환
GET /api/etf/portfolio 보유 ETF 상세 조회
GET /api/etf/mbti 투자 성향 및 선호 카테고리 조회
POST /api/etf/mbti 투자 성향 및 선호 카테고리 저장

💼 ISA

메서드 경로 설명
POST /api/isa ISA 계좌 등록
GET /api/isa ISA 계좌 목록 조회
DELETE /api/isa ISA 계좌 삭제
GET (서버액션) 수익률 조회
GET (서버액션) 포트폴리오 조회
POST /api/isa/save 절세 계산기
GET /api/isa/rebalancing 포트폴리오 리밸런싱 추천

🧠 금융 퀴즈 (Quiz)

메서드 경로 설명
GET /api/quiz/question 퀴즈 가져오기
POST /api/quiz/question/submit 정답 제출 및 캘린더 기록
GET /api/quiz/calendar 퀴즈 달력 조회

🏆 챌린지 (Challenge)

메서드 경로 설명
POST /api/challenge/claim 보상 수령 요청


🧪 테스트

ISAID 프로젝트는 포괄적인 테스트 스위트를 제공하여 코드의 안정성과 신뢰성을 보장합니다.

API 테스트

테스트 파일 API 경로 설명
challenge-claim-api.test.ts /api/challenge/claim 챌린지 보상 청구 API
etf-recommend-api.test.ts /api/etf/recommend ETF 추천 API
etf-test-api.test.ts /api/etf/mbti ETF 투자 성향 테스트 API
isa-rebalancing-api.test.ts /api/isa/rebalancing ISA 포트폴리오 리밸런싱 API

서비스 테스트

테스트 파일 서비스 설명
etf-recommend-service.test.ts EtfRecommendService ETF 추천 알고리즘 및 위험등급 분류
etf-test-service.test.ts EtfTestService 투자 성향 분석 및 테스트 결과 처리
challenge-claim.test.ts ChallengeClaimService 챌린지 보상 청구 조건 검증
challenge-status.test.ts ChallengeStatusService 챌린지 진행 상태 확인
isa-rebalancing-service.test.ts IsaRebalancingService ISA 포트폴리오 리밸런싱 전략
get-isa-portfolio.test.ts GetIsaPortfolioService ISA 포트폴리오 조회
get-monthly-returns.test.ts GetMonthlyReturnsService 월별 수익률 계산
tax-saving.test.ts TaxSavingService 세금 절약 효과 계산

헬퍼 함수

헬퍼 파일 설명
etf-recommend-helpers.ts ETF 추천 테스트용 모의 데이터 생성
etf-test-helpers.ts ETF 테스트 관련 헬퍼 함수
rebalancing-helpers.ts 리밸런싱 테스트 헬퍼 함수

테스트 환경

항목 설명
테스트 프레임워크 Jest
실행 환경 Node.js (@jest-environment node)
모킹 Prisma, NextAuth, 외부 서비스
스냅샷 테스트 UI 컴포넌트 스냅샷 테스트 지원


팀원 소개

Yoonseo
@dbstj0403
Hyejeong Son
@HyejeongSon
Hyo-joon
@hyo-joon
Jin Lee
@jjinleee
Gibo Kim
@KimGiii
Heegun Kwak
@VarGun

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •