Rhythm Fairy는 교대근무자의 건강한 생활 리듬을 지원하는 AI 기반 웰니스 플랫폼입니다. AWS Bedrock Agent와 생체리듬 분석 알고리즘을 활용하여 개인 맞춤형 수면·카페인·피로 관리 솔루션을 제공합니다.
- AWS Healthcare AI Jumpstart Prompthon 출품작
- 강원LRS공유대학 협력 프로젝트
- 교대근무자 건강 문제 해결을 위한 실용적 솔루션
- 🧠 AI 기반 개인화: AWS Bedrock Agent를 활용한 맞춤형 추천
- 📊 생체리듬 분석: 과학적 근거 기반 BioPathway 알고리즘
- 📱 직관적 UX: 모바일 최적화 인터페이스
- 🔒 안전한 데이터: AWS 보안 인프라 활용
- Amazon Nova Premier 모델 기반 대화형 AI
- Knowledge Base 연결: KOSHA(한국산업안전보건공단) 가이드라인
- RAG 방식: 신뢰할 수 있는 산업보건 정보 제공
- Guardrails 적용: 의료 진단 차단, 개인정보 보호, 콘텐츠 필터링
- 교대근무 관련 건강 상담 및 조언
- Amazon Nova Premier 모델 기반 건강 코치
- BioPathway Calculator Lambda 연동: 근무 타입별 생체리듬 규칙 적용
- 근무 스케줄 기반 최적 수면 시간 추천
- 주간/야간/초저녁/휴무별 차별화된 전략
- 타임라인 형식의 실천 가이드 제공
- 낮잠 시간 및 수면 윈도우 제안
- Bio-Coach Agent 기반 맞춤형 카페인 계획
- 수면 시간 고려한 카페인 마감 시간 계산
- 근무 유형별 최적 섭취 타이밍
- 과학적 근거 기반 권장사항
- 대체 각성 방법 제안
- 수면 시간, 연속 야간 근무, 출퇴근 시간 종합 분석
- Low/Medium/High 3단계 위험도 분류
- 안전 권장사항 제공
- OCR Agent 기반 자동 등록:
- Amazon Nova Premier + Claude 3.5 Sonnet 비전 기능
- 스케줄표 사진 업로드로 자동 파싱
- 특정 조(팀) 데이터 추출 및 JSON 변환
- 수동 입력 지원
- 월간/주간 근무 일정 시각화
- RDS 자동 저장
- 하루 시작을 위한 3단계 블록 시스템
- Now Block: 즉시 실행 작업
- Must-do Block: 필수 작업
- Recovery Block: 회복 활동
- 작업별 예상 소요 시간 및 진행률 추적
- 명상 가이드 오디오
- 백색소음 (빗소리, 파도소리 등)
- S3 기반 스트리밍 재생
- React 19.2 - UI 라이브러리
- TypeScript - 타입 안전성
- Vite - 빌드 도구
- Tailwind CSS - 유틸리티 기반 스타일링
- Framer Motion - 애니메이션
- Lucide React - 아이콘
- AWS Lambda - 서버리스 컴퓨팅 (Python 3.x)
- AWS Bedrock Agents - AI 추론 엔진 (Amazon Nova Premier)
- RAG Chatbot Agent: KOSHA 가이드라인 기반 건강 상담 (Knowledge Base 연결)
- OCR Agent: 근무표 이미지 자동 인식 (Claude 3.5 Sonnet 비전)
- Bio-Coach Agent: 맞춤형 수면/카페인 계획 생성 (BioPathway Calculator 연동)
- AWS Bedrock Guardrails - AI 안전성 보장 (의료 정보 보호, 콘텐츠 필터링)
- AWS RDS (PostgreSQL) - 관계형 데이터베이스
- AWS API Gateway - REST API 엔드포인트
- AWS S3 - 파일 스토리지 (이미지, 오디오)
- AWS Cognito - 사용자 인증
- AWS VPC - 네트워크 격리
- AWS CloudFront - CDN 및 HTTPS
- AWS CloudWatch - 로깅 및 모니터링
┌─────────────────────────────────────────────────────────────────┐
│ Frontend (React) │
│ CloudFront + S3 Hosting │
└────────────────────────────┬────────────────────────────────────┘
│
│ HTTPS
▼
┌─────────────────────────────────────────────────────────────────┐
│ API Gateway (REST) │
└────────────────────────────┬────────────────────────────────────┘
│
┌────────────┴────────────┐
│ │
▼ ▼
┌───────────────────────┐ ┌───────────────────────────────────┐
│ Lambda Functions │ │ Bedrock Agents │
│ (VPC) │ │ (Amazon Nova Premier) │
│ │ │ │
│ • user_management │ │ • RAG Chatbot Agent │
│ • schedule_mgmt │◄──┤ └─ Knowledge Base (KOSHA) │
│ • ai_services │ │ • OCR Agent │
│ • fatigue_assess │ │ └─ Action Group → Lambda │
│ • jumpstart │ │ • Bio-Coach Agent │
│ • wellness │ │ └─ Action Group → Lambda │
│ • biopathway_calc │ │ │
│ • ocr_vision │ │ Guardrails: 의료 안전성 보장 │
└───────────┬───────────┘ └───────────────────────────────────┘
│
▼
┌───────────────────────┐
│ RDS PostgreSQL │
│ (VPC) │
└───────────────────────┘
▲
│
┌───────────────────────┐
│ S3 Bucket │
│ • 스케줄 이미지 │
│ • 이완 오디오 │
└───────────────────────┘
- user_management - 사용자 프로필 관리
- schedule_management - 근무 스케줄 CRUD
- ai_services - AI 추천, 수면/카페인 계획, 챗봇 (Bedrock Agent 호출)
- fatigue_assessment - 피로 위험도 계산
- jumpstart - Daily Jumpstart 생성
- wellness - 웰니스 추천
- biopathway_calculator - 생체리듬 분석 (Bio-Coach Agent용)
- RDS에서 사용자 근무 스케줄 조회
- 근무 타입별 BIO_RULES 적용 (D/E/N/O)
- 수면 시간, 카페인 시간, 전문가 팁 반환
- ocr_vision - 스케줄 이미지 OCR (OCR Agent용)
- S3에서 이미지 다운로드
- Claude 3.5 Sonnet 비전으로 OCR 수행
- 날짜별 근무 타입 JSON 반환
- 모델: Amazon Nova Premier
- Knowledge Base: KOSHA 가이드라인 (산업보건 문서)
- 기능: RAG 방식으로 신뢰할 수 있는 건강 상담 제공
- Guardrails: 의료 진단 차단, 개인정보 보호
- Action Group: 없음 (Knowledge Base만 사용)
- 모델: Amazon Nova Premier
- 비전 모델: Claude 3.5 Sonnet (Lambda 내부 호출)
- 기능: 근무표 이미지 자동 인식 및 데이터 추출
- Action Group:
ocr_visionLambda 호출 - 입력: S3 이미지 경로, 사용자 조(팀)
- 출력: 날짜별 근무 타입 JSON
- 모델: Amazon Nova Premier
- 기능: 맞춤형 수면/카페인 관리 계획 생성
- Action Group:
biopathway_calculatorLambda 호출 - 입력: user_id, target_date
- 출력: 타임라인 형식의 건강 관리 가이드
- 특징: 근무 타입별 실천 가이드, 주의사항, 응원 메시지 포함
users -- 사용자 정보
schedules -- 근무 스케줄
schedule_images -- OCR 업로드 이미지
sleep_plans -- AI 생성 수면 계획
caffeine_plans -- AI 생성 카페인 계획
fatigue_assessments -- 피로 위험도 평가
jumpstart_blocks -- Jumpstart 블록
jumpstart_tasks -- Jumpstart 작업
daily_checklists -- 일일 체크리스트
chat_history -- AI 상담 내역
audio_files -- 이완 오디오 파일- Node.js 18 이상
- Python 3.11 이상
- AWS CLI 설정 완료
- AWS 계정 (Bedrock, Lambda, RDS 권한)
git clone https://github.com/your-username/shiftsync.git
cd shiftsync# 의존성 설치
npm install
# 환경 변수 설정
cp .env.example .env.local.env.local 파일 편집:
VITE_COGNITO_USER_POOL_ID=your-user-pool-id
VITE_COGNITO_USER_POOL_CLIENT_ID=your-client-id
VITE_API_BASE_URL=your-api-gateway-url
VITE_DEV_MODE=true# 개발 서버 실행
npm run devcd backend
# Python 의존성 설치
pip install -r requirements.txt
# 환경 변수 설정
cp .env.example .envbackend/.env 파일 편집:
# Database
DB_HOST=your-rds-endpoint
DB_PORT=5432
DB_NAME=rhythm_fairy
DB_USER=postgres
DB_PASSWORD=your-password
# AWS
AWS_REGION=us-east-1
S3_BUCKET_NAME=your-s3-bucket
# Bedrock Agents
BEDROCK_AGENT_ID=your-rag-agent-id
BEDROCK_AGENT_ALIAS_ID=your-rag-alias-id
BEDROCK_OCR_AGENT_ID=your-ocr-agent-id
BEDROCK_OCR_AGENT_ALIAS_ID=your-ocr-alias-id
BEDROCK_BIO_AGENT_ID=your-bio-agent-id
BEDROCK_BIO_AGENT_ALIAS_ID=your-bio-alias-id
BEDROCK_REGION=us-east-1
# Cognito
COGNITO_USER_POOL_ID=your-user-pool-id
COGNITO_CLIENT_ID=your-client-idcd backend/scripts
python init_database.pypython scripts/deploy_all.py이 스크립트는 다음을 자동으로 수행합니다:
- ✅ Lambda 함수 배포 (8개)
- ✅ API Gateway 설정
- ✅ 프론트엔드 빌드 및 S3 업로드
- ✅ CloudFront 배포
# 일반 Lambda 함수 (6개)
python backend/scripts/deploy_lambda.py
# Bedrock Agent Action Group Lambda (2개)
python backend/scripts/deploy_biopathway.py
python backend/scripts/deploy_ocr_lambda.py
# AI Services 환경변수 복원
python backend/scripts/deploy_ai_services_only.py
# API Gateway 설정
python backend/scripts/setup_api_gateway.pypython scripts/deploy_frontend.py# CloudWatch 로그 확인
python backend/scripts/check_cloudwatch_logs.py
# 데이터베이스 상태 확인
python backend/scripts/check_database.py자세한 배포 가이드는 DEPLOYMENT.md를 참조하세요.
shiftsync/
├── src/ # 프론트엔드 소스
│ ├── components/ # React 컴포넌트
│ │ ├── layout/ # 레이아웃 컴포넌트
│ │ ├── schedule/ # 스케줄 관련
│ │ └── shared/ # 공유 컴포넌트
│ ├── pages/ # 페이지 컴포넌트
│ │ ├── auth/ # 인증 화면
│ │ ├── home/ # 홈 대시보드
│ │ ├── onboarding/ # 온보딩
│ │ ├── plan/ # 계획 관리
│ │ ├── profile/ # 프로필
│ │ ├── schedule/ # 스케줄
│ │ └── wellness/ # 웰니스
│ ├── lib/ # 라이브러리 통합
│ ├── types/ # TypeScript 타입
│ └── utils/ # 유틸리티 함수
│
├── backend/ # 백엔드 소스
│ ├── lambda/ # Lambda 함수들
│ │ ├── ai_services/ # AI 추천 및 챗봇
│ │ ├── biopathway_calculator/ # 생체리듬 분석
│ │ ├── fatigue_assessment/ # 피로 평가
│ │ ├── jumpstart/ # Jumpstart 생성
│ │ ├── ocr_vision/ # OCR 처리
│ │ ├── schedule_management/ # 스케줄 관리
│ │ ├── user_management/ # 사용자 관리
│ │ └── wellness/ # 웰니스 추천
│ ├── infrastructure/ # 인프라 코드
│ │ ├── complete_schema.sql # DB 스키마
│ │ ├── sample_data.sql # 샘플 데이터
│ │ └── rds_setup.sql # RDS 설정
│ ├── scripts/ # 배포 및 관리 스크립트
│ │ ├── deploy_lambda.py # Lambda 배포
│ │ ├── deploy_biopathway.py # BioPathway 배포
│ │ ├── deploy_ocr_lambda.py # OCR Lambda 배포
│ │ ├── init_database.py # DB 초기화
│ │ └── check_cloudwatch_logs.py # 로그 확인
│ └── utils/ # 유틸리티
│ ├── database.py # DB 헬퍼
│ └── s3_manager.py # S3 헬퍼
│
├── scripts/ # 전체 배포 스크립트
│ ├── deploy_all.py # 전체 배포
│ └── deploy_frontend.py # 프론트엔드 배포
│
├── .kiro/ # Kiro AI 스펙
│ └── specs/ # 기능 스펙 문서
│
├── DEPLOYMENT.md # 배포 가이드
├── README.md # 이 파일
└── package.json # 프론트엔드 의존성
POST /users # 사용자 생성
GET /users/{user_id} # 사용자 조회
PUT /users/{user_id} # 사용자 업데이트
POST /users/{user_id}/schedules # 스케줄 생성
GET /users/{user_id}/schedules # 스케줄 목록
POST /users/{user_id}/schedules/ocr # OCR 업로드
POST /users/{user_id}/chat # AI 챗봇 (RAG Chatbot Agent)
POST /users/{user_id}/sleep-plans # 수면 계획 생성 (Bio-Coach Agent)
GET /users/{user_id}/sleep-plans?date= # 수면 계획 조회
POST /users/{user_id}/caffeine-plans # 카페인 계획 생성 (Bio-Coach Agent)
GET /users/{user_id}/caffeine-plans?date= # 카페인 계획 조회
GET /users/{user_id}/chat # 채팅 기록 조회
POST /users/{user_id}/fatigue # 피로도 평가
GET /users/{user_id}/fatigue # 피로도 조회
POST /users/{user_id}/jumpstart # Jumpstart 생성
GET /users/{user_id}/jumpstart # Jumpstart 조회
PUT /users/{user_id}/jumpstart/tasks/{task_id} # 작업 완료
자세한 API 문서는 각 Lambda 함수의 handler.py 파일을 참조하세요.
npm run lint# 데이터베이스 연결 테스트
python backend/scripts/test_connection.py
# Bedrock Agent 테스트
python backend/scripts/test_bedrock_agent.py
# Bio-Coach Agent 통합 테스트
python backend/scripts/test_bio_coach_integration.py기여를 환영합니다! 다음 단계를 따라주세요:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Frontend: ESLint 규칙 준수
- Backend: PEP 8 스타일 가이드
- Commit: Conventional Commits 형식
이 프로젝트는 MIT 라이선스를 따릅니다. 자세한 내용은 LICENSE 파일을 참조하세요.
AWS Healthcare AI Jumpstart Prompthon 2026
- AWS - Bedrock Agent 및 클라우드 인프라 제공
- 강원LRS공유대학 - 프로젝트 협력 및 지원