HealthSync_FE/README.md
2025-06-20 07:30:03 +00:00

542 lines
18 KiB
Markdown

# 🏥 HealthSync - AI기반 개인형 맞춤 건강관리 서비스
> **"AI와 함께하는 스마트한 건강 습관 만들기"**
직장인을 위한 AI 기반 개인 맞춤형 건강관리 플랫폼으로, 건강검진 데이터 분석부터 일상 건강 습관 형성까지 지원하는 올인원 헬스케어 솔루션입니다.
## 📋 MVP 산출물
### 🎯 1. 발표자료
- [MVP 발표자료](https://gamma.app/docs/HealthSync-mzr82kum8wfpqyf)
### 🏗️ 2. 설계결과
- [논리 아키텍처](https://drive.google.com/file/d/1pmg7BXCfOjf_XytCBd5aiROmLoZv5BQG/view?usp=drive_link)
- [API 설계서](https://docs.google.com/spreadsheets/d/18ApEjdr-ypVo5MlSGuNh8DUjP5tjOd0M/edit?usp=drive_link&ouid=118178534404133188086&rtpof=true&sd=true)
- [시퀀스 다이어그램](https://drive.google.com/file/d/1R5LhWQMk1irxiNmfmTvH1s5Y-OZ5D1oA/view?usp=drive_link)
- [클래스 설계서](https://drive.google.com/file/d/1bIeeTnuoJRsllwnNnvbcG-znOgPD9829/view?usp=drive_link)
- [데이터베이스 설계](https://drive.google.com/file/d/1PIWG69nZMU7_7VsHM1H4A2JiRcPRU0fy/view?usp=drive_link)
- [패키지 구조도](https://drive.google.com/file/d/1uewSxUTtsWmibSnxz4DYHJM1hTd3TlXP/view?usp=drive_link)
- [물리 아키텍처](https://drive.google.com/file/d/1sW-Noid27NFo1Vj1Pqm_qanz7bA21Ef6/view?usp=drive_link)
### 📱 3. Git Repository
- **백엔드 (User/Health/Goal)**: [HealthSync_BE](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_BE.git)
- **백엔드 (AI Service)**: [HealthSync_Intelligence](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Intelligence.git)
- **백엔드 (Motivator Service)**: [HealthSync_Motivator](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Motivator.git)
- **Kubernetes Manifest**: [HealthSync_Manifest](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Manifest.git)
- **프론트엔드**: [HealthSync_FE](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_FE.git)
### 🎬 4. 시연 동영상
- [MVP 시연 영상](https://www.youtube.com/watch?v=FW2d6m4Wppo)
---
## 🚀 프로젝트 소개
### 💡 비즈니스 가치
**🏢 회사 관점**
- AI 기반 초개인화 헬스케어 플랫폼 개발로 고객 유치 및 비즈니스 가치 극대화
- 기업 인지도 향상 및 헬스케어 시장 선점
**👤 고객 관점**
- 건강한 생활을 유지하고자 하는 고객에게 지속적인 건강 개선 추적 제공
- 사용자 중심의 개인화된 헬스케어 경험 제공
### 🎯 핵심 기능
#### 🔐 인증 & 온보딩
- **간편 로그인**: 구글 계정 연동으로 쉬운 회원가입
- **개인화 설정**: 직업군별 맞춤 정보 수집 (IT/PM/마케팅/영업/인프라운영/고객상담)
#### 📊 건강 데이터 분석
- **건강검진 연동**: 건강보험공단 데이터 자동 불러오기
- **AI 진단**: Claude API 기반 3줄 요약 건강 상태 분석
- **이력 관리**: 최근 5회 건강검진 결과 시각화
#### 🎯 스마트 미션 시스템
- **AI 추천**: 건강 상태 + 직업 특성 고려한 5개 맞춤 미션 제안
- **습관 추적**: 일일 목표 설정 및 달성률 모니터링
- **성취 관리**: 연속 달성 기록 및 마일스톤 보상
#### 💬 AI 헬스 코치
- **실시간 상담**: 건강 관련 질문에 대한 전문적 답변
- **독려 메시지**: 주기적 동기부여 및 리마인더 알림
- **축하 시스템**: 미션 달성 시 즉각적인 피드백 제공
### 🏗️ 기술 아키텍처
#### 📱 Frontend
- **React 18** + **TypeScript**
- **Material-UI** 컴포넌트 라이브러리
- 모바일 퍼스트 반응형 디자인
- PWA 지원으로 네이티브 앱 수준 경험
#### ⚙️ Backend (마이크로서비스)
- **Spring Boot 3.4.0** + **Java 21**
- **Clean/Hexagonal Architecture** 적용
- **Spring Cloud Gateway** 통합 API 게이트웨이
- **JWT 기반** 인증/인가 시스템
- **User/Health/Goal**: 핵심 비즈니스 로직 처리
- **Motivator**: 동기부여 및 알림 전담 서비스
#### 🧠 AI Service
- **Python FastAPI** + **Claude API** 직접 연동
- 비동기 처리로 빠른 응답 시간 보장
- Redis 캐싱으로 성능 최적화
#### 🗄️ Data Layer
- **PostgreSQL 15**: 메인 데이터베이스
- **Redis 7**: 캐싱 및 세션 관리
- **Azure Blob Storage**: 건강검진 파일 저장
#### ☁️ Infrastructure
- **Azure Kubernetes Service (AKS)**: 컨테이너 오케스트레이션
- **Azure Container Registry (ACR)**: 컨테이너 이미지 저장소
- **Jenkins + ArgoCD**: CI/CD 파이프라인
- **GitOps**: Manifest 저장소 기반 배포 자동화
- **Nginx Ingress**: 로드밸런싱 및 SSL 종료
---
## 🛠️ 로컬 실행 가이드
### 📋 사전 요구사항
- **Java 21+**
- **Node.js 18+**
- **Docker & Docker Compose**
- **Git**
### 🔧 환경 설정
#### 1. 저장소 클론
```bash
# 백엔드 (User/Health/Goal 서비스)
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_BE.git
cd HealthSync_BE
# 백엔드 (AI 서비스)
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Intelligence.git
cd HealthSync_Intelligence
# 백엔드 (Motivator 서비스)
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Motivator.git
cd HealthSync_Motivator
# Kubernetes Manifest
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Manifest.git
cd HealthSync_Manifest
# 프론트엔드
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_FE.git
cd HealthSync_FE
```
#### 2. 환경변수 설정
```bash
# .env 파일 생성
cp .env.example .env
# 필수 환경변수 설정
export CLAUDE_API_KEY=your_claude_api_key
export GOOGLE_CLIENT_ID=your_google_client_id
export GOOGLE_CLIENT_SECRET=your_google_client_secret
export DB_PASSWORD=your_database_password
```
### 🚀 실행 방법
#### Option 1: Docker Compose (추천)
```bash
# 전체 서비스 시작
docker-compose up -d
# 특정 서비스만 시작
docker-compose up -d postgres redis
docker-compose up -d backend
docker-compose up -d frontend
# 로그 확인
docker-compose logs -f
```
#### Option 2: 개별 실행
```bash
# 1. 데이터베이스 시작
docker-compose up -d postgres redis
# 2. 백엔드 서비스 시작
# User/Health/Goal 서비스
cd HealthSync_BE
./gradlew bootRun
# AI 서비스 (별도 터미널)
cd HealthSync_Intelligence
python -m uvicorn main:app --reload --port 8083
# Motivator 서비스 (별도 터미널)
cd HealthSync_Motivator
./gradlew bootRun # 또는 python main.py (기술스택에 따라)
# 3. 프론트엔드 시작
cd HealthSync_FE
npm install
npm start
```
### 🌐 접속 정보
- **프론트엔드**: http://localhost:3000
- **API Gateway**: http://localhost:8080
- **Swagger UI**: http://localhost:8080/swagger-ui.html
- **PostgreSQL**: localhost:5432
- **Redis**: localhost:6379
---
## 🚢 CI/CD 가이드
### 🔄 자동 배포 파이프라인
#### 1. CI 파이프라인 (Jenkins)
```yaml
stages:
- checkout: 소스 코드 체크아웃
- test: 단위 테스트 및 통합 테스트 실행
- build: Docker 이미지 빌드
- push: Azure Container Registry에 이미지 푸시
- deploy: Manifest 저장소 업데이트 및 ArgoCD 배포 트리거
```
#### 2. CD 파이프라인 (ArgoCD)
```yaml
source:
repoURL: https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Manifest.git
path: overlays/production
destination:
server: https://kubernetes.default.svc
namespace: healthsync-prod
```
### 🏗️ 배포 환경
#### Development
- **URL**: https://dev.healthsync.com
- **자동 배포**: main 브랜치 push 시
- **데이터베이스**: Development PostgreSQL
#### Production
- **URL**: https://healthsync.com
- **배포 방식**: 수동 승인 후 배포
- **데이터베이스**: Production PostgreSQL (백업 설정)
### 📊 모니터링
- **Prometheus**: 메트릭 수집
- **Grafana**: 대시보드 및 알림
- **Application Insights**: 애플리케이션 모니터링
---
## 👥 팀 구성 (Agentic Workflow)
### 🎯 M사상 실천
**Value-Oriented** | **Interactive** | **Iterative**
| 역할 | 이름 | 담당 영역 |
|------|------|-----------|
| **PO** | 김PO "PO" | 제품 기획 및 비즈니스 가치 정의 |
| **UI/UX** | 김소영 "유엑스" | 사용자 경험 설계 및 인터페이스 디자인 |
| **Frontend** | 이준수 "프론트" | React 기반 웹 애플리케이션 개발 |
| **Backend** | 박서준 "백엔드" | Spring Boot 마이크로서비스 개발 |
| **DevOps** | 정민아 "데브옵스" | CI/CD 및 인프라 자동화 |
| **Data Science** | 최태호 "데사이" | AI 모델 개발 및 데이터 분석 |
| **Medical** | 김지현 "닥터킴" | 의료 전문 자문 및 검증 |
| **QA** | 윤도현 "테스터" | 품질 보증 및 테스트 자동화 |
| **Security** | 서예린 "시큐어" | 보안 및 개인정보보호 |
---
## 📜 라이선스
MIT License - 자세한 내용은 [LICENSE](./LICENSE) 파일을 참조하세요.
---
## 📞 문의 및 지원
- **이슈 제출**: [Gitea Issues](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_FE/issues)
- **기능 요청**: [Feature Request](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_FE/discussions)
- **보안 문의**: security@healthsync.com
---
*🎯 건강한 습관, AI와 함께 시작하세요! HealthSync는 여러분의 건강한 내일을 응원합니다.*# 🏥 HealthSync - AI기반 개인형 맞춤 건강관리 서비스
> **"AI와 함께하는 스마트한 건강 습관 만들기"**
직장인을 위한 AI 기반 개인 맞춤형 건강관리 플랫폼으로, 건강검진 데이터 분석부터 일상 건강 습관 형성까지 지원하는 올인원 헬스케어 솔루션입니다.
## 📋 MVP 산출물
### 🎯 1. 발표자료
- [MVP 발표자료](https://gamma.app/docs/HealthSync-mzr82kum8wfpqyf)
### 🏗️ 2. 설계결과
- [논리 아키텍처](https://drive.google.com/file/d/1pmg7BXCfOjf_XytCBd5aiROmLoZv5BQG/view?usp=drive_link)
- [API 설계서](https://docs.google.com/spreadsheets/d/18ApEjdr-ypVo5MlSGuNh8DUjP5tjOd0M/edit?usp=drive_link&ouid=118178534404133188086&rtpof=true&sd=true)
- [시퀀스 다이어그램](https://drive.google.com/file/d/1R5LhWQMk1irxiNmfmTvH1s5Y-OZ5D1oA/view?usp=drive_link)
- [클래스 설계서](https://drive.google.com/file/d/1bIeeTnuoJRsllwnNnvbcG-znOgPD9829/view?usp=drive_link)
- [데이터베이스 설계](https://drive.google.com/file/d/1PIWG69nZMU7_7VsHM1H4A2JiRcPRU0fy/view?usp=drive_link)
- [패키지 구조도](https://drive.google.com/file/d/1uewSxUTtsWmibSnxz4DYHJM1hTd3TlXP/view?usp=drive_link)
- [물리 아키텍처](https://drive.google.com/file/d/1sW-Noid27NFo1Vj1Pqm_qanz7bA21Ef6/view?usp=drive_link)
### 📱 3. Git Repository
- **백엔드 (User/Health/Goal)**: [HealthSync_BE](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_BE.git)
- **백엔드 (AI Service)**: [HealthSync_Intelligence](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Intelligence.git)
- **백엔드 (Motivator Service)**: [HealthSync_Motivator](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Motivator.git)
- **Kubernetes Manifest**: [HealthSync_Manifest](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Manifest.git)
- **프론트엔드**: [HealthSync_FE](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_FE.git)
### 🎬 4. 시연 동영상
- [MVP 시연 영상](https://youtube.com/shorts/ptJ4hGYEh4o?feature=share)
---
## 🚀 프로젝트 소개
### 💡 비즈니스 가치
**🏢 회사 관점**
- AI 기반 초개인화 헬스케어 플랫폼 개발로 고객 유치 및 비즈니스 가치 극대화
- 기업 인지도 향상 및 헬스케어 시장 선점
**👤 고객 관점**
- 건강한 생활을 유지하고자 하는 고객에게 지속적인 건강 개선 추적 제공
- 사용자 중심의 개인화된 헬스케어 경험 제공
### 🎯 핵심 기능
#### 🔐 인증 & 온보딩
- **간편 로그인**: 구글 계정 연동으로 쉬운 회원가입
- **개인화 설정**: 직업군별 맞춤 정보 수집 (IT/PM/마케팅/영업/인프라운영/고객상담)
#### 📊 건강 데이터 분석
- **건강검진 연동**: 건강보험공단 데이터 자동 불러오기
- **AI 진단**: Claude API 기반 3줄 요약 건강 상태 분석
- **이력 관리**: 최근 5회 건강검진 결과 시각화
#### 🎯 스마트 미션 시스템
- **AI 추천**: 건강 상태 + 직업 특성 고려한 5개 맞춤 미션 제안
- **습관 추적**: 일일 목표 설정 및 달성률 모니터링
- **성취 관리**: 연속 달성 기록 및 마일스톤 보상
#### 💬 AI 헬스 코치
- **실시간 상담**: 건강 관련 질문에 대한 전문적 답변
- **독려 메시지**: 주기적 동기부여 및 리마인더 알림
- **축하 시스템**: 미션 달성 시 즉각적인 피드백 제공
### 🏗️ 기술 아키텍처
#### 📱 Frontend
- **React 18** + **TypeScript**
- **Material-UI** 컴포넌트 라이브러리
- 모바일 퍼스트 반응형 디자인
- PWA 지원으로 네이티브 앱 수준 경험
#### ⚙️ Backend (마이크로서비스)
- **Spring Boot 3.4.0** + **Java 21**
- **Clean/Hexagonal Architecture** 적용
- **Spring Cloud Gateway** 통합 API 게이트웨이
- **JWT 기반** 인증/인가 시스템
- **User/Health/Goal**: 핵심 비즈니스 로직 처리
- **Motivator**: 동기부여 및 알림 전담 서비스
#### 🧠 AI Service
- **Python FastAPI** + **Claude API** 직접 연동
- 비동기 처리로 빠른 응답 시간 보장
- Redis 캐싱으로 성능 최적화
#### 🗄️ Data Layer
- **PostgreSQL 15**: 메인 데이터베이스
- **Redis 7**: 캐싱 및 세션 관리
- **Azure Blob Storage**: 건강검진 파일 저장
#### ☁️ Infrastructure
- **Azure Kubernetes Service (AKS)**: 컨테이너 오케스트레이션
- **Azure Container Registry (ACR)**: 컨테이너 이미지 저장소
- **Jenkins + ArgoCD**: CI/CD 파이프라인
- **GitOps**: Manifest 저장소 기반 배포 자동화
- **Nginx Ingress**: 로드밸런싱 및 SSL 종료
---
## 🛠️ 로컬 실행 가이드
### 📋 사전 요구사항
- **Java 21+**
- **Node.js 18+**
- **Docker & Docker Compose**
- **Git**
### 🔧 환경 설정
#### 1. 저장소 클론
```bash
# 백엔드 (User/Health/Goal 서비스)
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_BE.git
cd HealthSync_BE
# 백엔드 (AI 서비스)
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Intelligence.git
cd HealthSync_Intelligence
# 백엔드 (Motivator 서비스)
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Motivator.git
cd HealthSync_Motivator
# Kubernetes Manifest
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Manifest.git
cd HealthSync_Manifest
# 프론트엔드
git clone https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_FE.git
cd HealthSync_FE
```
#### 2. 환경변수 설정
```bash
# .env 파일 생성
cp .env.example .env
# 필수 환경변수 설정
export CLAUDE_API_KEY=your_claude_api_key
export GOOGLE_CLIENT_ID=your_google_client_id
export GOOGLE_CLIENT_SECRET=your_google_client_secret
export DB_PASSWORD=your_database_password
```
### 🚀 실행 방법
#### Option 1: Docker Compose (추천)
```bash
# 전체 서비스 시작
docker-compose up -d
# 특정 서비스만 시작
docker-compose up -d postgres redis
docker-compose up -d backend
docker-compose up -d frontend
# 로그 확인
docker-compose logs -f
```
#### Option 2: 개별 실행
```bash
# 1. 데이터베이스 시작
docker-compose up -d postgres redis
# 2. 백엔드 서비스 시작
# User/Health/Goal 서비스
cd HealthSync_BE
./gradlew bootRun
# AI 서비스 (별도 터미널)
cd HealthSync_Intelligence
python -m uvicorn main:app --reload --port 8083
# Motivator 서비스 (별도 터미널)
cd HealthSync_Motivator
./gradlew bootRun # 또는 python main.py (기술스택에 따라)
# 3. 프론트엔드 시작
cd HealthSync_FE
npm install
npm start
```
### 🌐 접속 정보
- **프론트엔드**: http://localhost:3000
- **API Gateway**: http://localhost:8080
- **Swagger UI**: http://localhost:8080/swagger-ui.html
- **PostgreSQL**: localhost:5432
- **Redis**: localhost:6379
---
## 🚢 CI/CD 가이드
### 🔄 자동 배포 파이프라인
#### 1. CI 파이프라인 (Jenkins)
```yaml
stages:
- checkout: 소스 코드 체크아웃
- test: 단위 테스트 및 통합 테스트 실행
- build: Docker 이미지 빌드
- push: Azure Container Registry에 이미지 푸시
- deploy: Manifest 저장소 업데이트 및 ArgoCD 배포 트리거
```
#### 2. CD 파이프라인 (ArgoCD)
```yaml
source:
repoURL: https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_Manifest.git
path: overlays/production
destination:
server: https://kubernetes.default.svc
namespace: healthsync-prod
```
### 🏗️ 배포 환경
#### Development
- **URL**: https://dev.healthsync.com
- **자동 배포**: main 브랜치 push 시
- **데이터베이스**: Development PostgreSQL
#### Production
- **URL**: https://healthsync.com
- **배포 방식**: 수동 승인 후 배포
- **데이터베이스**: Production PostgreSQL (백업 설정)
### 📊 모니터링
- **Prometheus**: 메트릭 수집
- **Grafana**: 대시보드 및 알림
- **Application Insights**: 애플리케이션 모니터링
---
## 👥 팀 구성 (Agentic Workflow)
### 🎯 M사상 실천
**Value-Oriented** | **Interactive** | **Iterative**
| 역할 | 이름 | 담당 영역 |
|------|------|-----------|
| **PO** | 김PO "PO" | 제품 기획 및 비즈니스 가치 정의 |
| **UI/UX** | 김소영 "유엑스" | 사용자 경험 설계 및 인터페이스 디자인 |
| **Frontend** | 이준수 "프론트" | React 기반 웹 애플리케이션 개발 |
| **Backend** | 박서준 "백엔드" | Spring Boot 마이크로서비스 개발 |
| **DevOps** | 정민아 "데브옵스" | CI/CD 및 인프라 자동화 |
| **Data Science** | 최태호 "데사이" | AI 모델 개발 및 데이터 분석 |
| **Medical** | 김지현 "닥터킴" | 의료 전문 자문 및 검증 |
| **QA** | 윤도현 "테스터" | 품질 보증 및 테스트 자동화 |
| **Security** | 서예린 "시큐어" | 보안 및 개인정보보호 |
---
## 📜 라이선스
MIT License - 자세한 내용은 [LICENSE](./LICENSE) 파일을 참조하세요.
---
## 📞 문의 및 지원
- **이슈 제출**: [Gitea Issues](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_FE/issues)
- **기능 요청**: [Feature Request](https://gitea.cbiz.kubepia.net/dg04-1tier/HealthSync_FE/discussions)
- **보안 문의**: security@healthsync.com
---
*🎯 건강한 습관, AI와 함께 시작하세요! HealthSync는 여러분의 건강한 내일을 응원합니다.*