2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 06:54:13 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00
2025-06-20 05:42:24 +00:00

HealthSync Backend Services

AI 기반 개인형 맞춤 건강관리 서비스의 백엔드 시스템입니다.

🏗️ 아키텍처

마이크로서비스 구성

  • API Gateway (Port: 8080) - 통합 진입점 및 라우팅
  • User Service (Port: 8081) - 사용자 관리 및 인증
  • Health Service (Port: 8082) - 건강검진 데이터 관리
  • Intelligence Service (Port: 8083) - AI 분석 및 채팅
  • Goal Service (Port: 8084) - 목표 설정 및 미션 관리
  • Motivator Service (Port: 8085) - 동기부여 메시지 및 알림

기술 스택

  • Framework: Spring Boot 3.4.0, Spring WebMVC
  • Language: Java 21
  • Build Tool: Gradle
  • Database: PostgreSQL 15
  • Cache: Redis 7
  • Architecture: Clean Architecture
  • Documentation: OpenAPI 3 (Swagger)

🚀 실행 방법

1. Prerequisites

  • Java 21+
  • Docker & Docker Compose
  • Claude API Key (선택사항)

2. Docker Compose로 실행

# 환경변수 설정 (선택사항)
export CLAUDE_API_KEY=your_claude_api_key

# 서비스 시작
docker-compose up -d

# 로그 확인
docker-compose logs -f

3. 개발 환경에서 실행

# 의존성 데이터베이스 시작
docker-compose up postgres redis -d

# 각 서비스 개별 실행
./gradlew :api-gateway:bootRun
./gradlew :user-service:bootRun
./gradlew :health-service:bootRun
./gradlew :intelligence-service:bootRun
./gradlew :goal-service:bootRun
./gradlew :motivator-service:bootRun

📡 API 엔드포인트

API Gateway (http://localhost:8080)

모든 서비스의 통합 진입점

주요 API 경로

  • POST /api/auth/login - Google SSO 로그인
  • POST /api/users/register - 회원가입
  • POST /api/health/checkup/sync - 건강검진 연동
  • GET /api/intelligence/health/diagnosis - AI 건강 진단
  • POST /api/intelligence/missions/recommend - AI 미션 추천
  • POST /api/goals/missions/select - 미션 선택
  • GET /api/goals/missions/active - 활성 미션 조회
  • POST /api/motivator/notifications/encouragement - 독려 메시지

API 문서

각 서비스의 Swagger UI에서 상세 API 문서를 확인할 수 있습니다:

🧪 테스트

# 전체 테스트 실행
./gradlew test

# 특정 서비스 테스트
./gradlew :user-service:test

📊 모니터링

Health Check

Metrics

🛠️ 개발 가이드

Clean Architecture 패턴

각 서비스는 Clean Architecture 패턴을 따릅니다:

  • interface-adapters/controllers - API 컨트롤러
  • application-services - 유스케이스
  • domain/services - 도메인 서비스
  • domain/repositories - 리포지토리 인터페이스
  • infrastructure - 외부 의존성 구현

코딩 컨벤션

  • Java 21 문법 활용
  • Lombok 사용으로 boilerplate 코드 최소화
  • 모든 클래스에 JavaDoc 작성
  • 로깅을 통한 추적성 확보

🔒 보안

  • JWT 기반 인증
  • CORS 설정
  • Input validation
  • SQL injection 방지

📝 프로젝트 구조

healthsync-backend/
├── api-gateway/          # API Gateway
├── user-service/         # 사용자 서비스
├── health-service/       # 건강 서비스
├── intelligence-service/ # AI 서비스
├── goal-service/         # 목표 서비스
├── motivator-service/    # 동기부여 서비스
├── common/              # 공통 라이브러리
├── docker-compose.yml   # Docker 구성
└── scripts/             # 초기화 스크립트

🤝 기여 방법

  1. 이슈 등록
  2. 브랜치 생성 (git checkout -b feature/amazing-feature)
  3. 커밋 (git commit -m 'Add amazing feature')
  4. 푸시 (git push origin feature/amazing-feature)
  5. Pull Request 생성

📄 라이선스

이 프로젝트는 MIT 라이선스를 따릅니다.

Description
No description provided
Readme 286 KiB
Languages
Java 99.9%
Dockerfile 0.1%