전역 예정 장병의 확정 소득과 금융 데이터를 기반으로 전역 예상 자산, 재정적 전역일, 목표 달성 전략을 제공하는 군 특화 AI 자산관리 서비스의 프론트엔드입니다.
- Google·Kakao 소셜 로그인과 온보딩
- CODEF 금융기관 연동과 통합 자산·거래 내역 조회
- 전역 예상 자산, 재정적 전역일, 휴가 예산 관리
- AI 자산 분석, What-if 시뮬레이션, 금융상품·적립식 투자 가이드
- 오늘의 미션, 챌린지, 군인 혜택, 투자 뱃지
- FCM 푸시 알림과 PWA
- Vue 3, JavaScript, Vite
- Pinia, Vue Router, Axios
- Tailwind CSS
- Firebase Cloud Messaging
- Vite PWA
- Node.js
22.18.x또는24.12.0이상 - npm
npm ci
cp .env.example .env
npm run devWindows PowerShell에서는 환경 파일을 다음과 같이 복사합니다.
Copy-Item .env.example .env개발 서버는 http://localhost:5173에서 실행됩니다. 포트가 사용 중이면 실행이 중단됩니다.
.env.example을 기준으로 .env를 작성합니다.
| 변수 | 용도 | 기본값 |
|---|---|---|
VITE_API_BASE_URL |
백엔드 API 기본 경로 | /api/v1 |
VITE_GOOGLE_CLIENT_ID |
Google OAuth 클라이언트 ID | 없음 |
VITE_KAKAO_CLIENT_ID |
Kakao OAuth 클라이언트 ID | 없음 |
VITE_FIREBASE_* |
FCM 초기화 및 웹 푸시 설정 | 없음 |
로컬에서 /api 요청은 vite.config.js의 프록시 설정을 통해 백엔드로 전달됩니다. OAuth·Firebase 기능을 확인하려면 해당 환경 변수를 모두 설정해야 합니다.
API Secret과 Client Secret은 프론트엔드 환경 변수나 소스 코드에 저장하지 않습니다.
| 명령어 | 설명 |
|---|---|
npm run dev |
개발 서버 실행 |
npm run build |
운영용 빌드 생성 |
npm run preview |
빌드 결과 로컬 미리보기 |
npm run lint |
ESLint 검사 |
npm run lint:fix |
ESLint 자동 수정 |
npm run format |
Prettier 포맷 적용 |
npm run commit |
프로젝트 커밋 도우미 실행 |
src/
├── app/ # 라우터, 레이아웃, 앱 진입점
├── assets/ # 이미지, 아이콘, 폰트
├── common/ # API, 인증, 공통 컴포넌트·스타일
├── features/ # 도메인별 화면, 상태, API, 컴포넌트
│ ├── auth/ # 로그인·인증
│ ├── onboarding/ # 온보딩·계좌 연동
│ ├── dashboard/ # 대시보드·자산
│ ├── ai-analysis/ # AI 분석·이력
│ ├── simulations/ # What-if·상품 추천
│ └── ... # 거래, 미션, 알림, 리포트 등
├── firebase-messaging-sw.js # FCM 서비스 워커
└── main.js # Vue 앱 부트스트랩
상세 구조는 파일 구조 문서에서 확인합니다.
src/common/api/client.js: API 기본 설정, JWT 주입, 토큰 재발급·재시도src/common/api/endpoints.js: REST API 경로 통합 관리src/features/*/api: 도메인별 API 호출
엔드포인트를 임의로 추가하지 않고 API 명세 반영표를 기준으로 합니다. 화면 데이터 형식은 화면별 데이터 타입 명세서와 동기화합니다.
데이터 필드나 API 경로가 변경되면 다음을 함께 수정합니다.
docs/api-endpoint-mapping.md또는docs/screen-data-spec.mdsrc/common/api/endpoints.js- 해당
src/features/*/api/*.api.js
변경 전 아래 검사를 실행합니다.
npm run lint
npm run buildVercel 배포 시 SPA 라우팅과 /api 프록시는 vercel.json의 rewrite 설정을 사용합니다.