# 백엔드 서비스 실행 프로파일 가이드 ## 개요 HGZero 프로젝트의 모든 백엔드 서비스를 IntelliJ IDEA에서 실행할 수 있는 실행 프로파일을 생성했습니다. ## 생성된 실행 프로파일 ### 1. UserApplication - **포트**: 8080 - **데이터베이스**: userdb (20.214.121.121:5432) - **Redis 데이터베이스**: 0 - **메인 클래스**: `com.unicorn.hgzero.user.UserApplication` - **모듈**: user - **로그 파일**: logs/user.log ### 2. NotificationApplication - **포트**: 8084 - **데이터베이스**: notificationdb (4.230.159.143:5432) - **Redis 데이터베이스**: 4 - **메인 클래스**: `com.unicorn.hgzero.notification.NotificationApplication` - **모듈**: notification - **로그 파일**: logs/notification.log ### 3. AiApplication - **포트**: 8083 - **데이터베이스**: aidb (20.249.153.213:5432) - **Redis 데이터베이스**: 4 - **메인 클래스**: `com.unicorn.hgzero.ai.AiApplication` - **모듈**: ai - **로그 파일**: logs/ai.log ### 4. MeetingApplication - **포트**: 8082 - **데이터베이스**: meetingdb (4.230.48.72:5432) - **Redis 데이터베이스**: 1 - **메인 클래스**: `com.unicorn.hgzero.meeting.MeetingApplication` - **모듈**: meeting - **로그 파일**: logs/meeting-service.log ### 5. SttApplication - **포트**: 8085 - **데이터베이스**: sttdb (4.230.65.89:5432) - **Redis 데이터베이스**: 2 - **메인 클래스**: `com.unicorn.hgzero.stt.SttApplication` - **모듈**: stt - **로그 파일**: logs/stt.log ## 환경 변수 설정 각 서비스별로 다음 환경 변수들이 설정되어 있습니다: ### 공통 환경 변수 - `JWT_SECRET`: 각 서비스별 개발용 JWT 시크릿 키 - `CORS_ALLOWED_ORIGINS`: http://localhost:* - `SHOW_SQL`: true (개발용) - `DDL_AUTO`: update (개발용) - `LOG_LEVEL_APP`: DEBUG - 기타 로깅 레벨 설정 ### 서비스별 특화 환경 변수 #### AI 서비스 - `AZURE_OPENAI_API_KEY`: OpenAI API 키가 설정됨 - `AZURE_OPENAI_ENDPOINT`: https://api.openai.com/v1 - `AZURE_OPENAI_DEPLOYMENT`: gpt-4o - `AZURE_OPENAI_EMBEDDING_DEPLOYMENT`: text-embedding-3-large #### Notification 서비스 - `MAIL_HOST`: smtp.gmail.com - `MAIL_PORT`: 587 - `NOTIFICATION_FROM_EMAIL`: noreply@hgzero.com - `NOTIFICATION_FROM_NAME`: HGZero #### STT 서비스 - `AZURE_SPEECH_REGION`: eastus - `AZURE_SPEECH_LANGUAGE`: ko-KR - `AZURE_BLOB_CONTAINER_NAME`: recordings #### User 서비스 - `LDAP_URLS`: ldaps://ldap.example.com:636 - `LDAP_BASE`: dc=example,dc=com #### Meeting 서비스 - `CLAUDE_API_KEY`: Claude AI API 키 - `OPENAI_API_KEY`: OpenAI API 키 - `OPENWEATHER_API_KEY`: OpenWeather API 키 - `KAKAO_API_KEY`: Kakao API 키 - `EVENTHUB_CONNECTION_STRING`: Azure EventHub 연결 문자열 - `EVENTHUB_NAME`: hgzero-eventhub-name ## 실행 방법 ### IntelliJ IDEA에서 실행 1. IntelliJ IDEA에서 프로젝트 열기 2. Run/Debug Configurations 에서 원하는 서비스 선택 3. Run 또는 Debug 모드로 실행 ### 서비스 실행 순서 권장사항 1. **UserApplication** (8080) - 사용자 인증 서비스 2. **MeetingApplication** (8082) - 회의록 관리 서비스 3. **AiApplication** (8083) - AI 처리 서비스 4. **NotificationApplication** (8084) - 알림 서비스 5. **SttApplication** (8085) - 음성 인식 서비스 ## 주의사항 ### 데이터베이스 연결 설정 **현재 설정된 데이터베이스 비밀번호**: `Hi5Jessica!` - 모든 서비스가 동일한 데이터베이스 비밀번호를 사용하도록 설정되었습니다 - **HIBERNATE_DIALECT**가 `org.hibernate.dialect.PostgreSQLDialect`로 명시적으로 설정되어 연결 오류를 방지합니다 ### 필수 설정이 필요한 환경 변수 다음 환경 변수들은 실제 운영 시 설정이 필요합니다: - `REDIS_PASSWORD`: Redis 비밀번호 (필요시) - `AZURE_SPEECH_SUBSCRIPTION_KEY`: Azure Speech 서비스 키 (STT 서비스) - `AZURE_EVENTHUB_CONNECTION_STRING`: Event Hub 연결 문자열 - `AZURE_STORAGE_CONNECTION_STRING`: Azure Storage 연결 문자열 - `MAIL_USERNAME`, `MAIL_PASSWORD`: 이메일 발송용 계정 정보 ### 포트 충돌 방지 - User: 8080 - Meeting: 8082 - AI: 8083 - Notification: 8084 - STT: 8085 모든 서비스가 서로 다른 포트를 사용하므로 동시 실행이 가능합니다. ## 로그 파일 위치 - 모든 로그는 프로젝트 루트의 `logs/` 디렉토리에 저장됩니다 - 각 서비스별 로그 파일: - `logs/user.log` - `logs/meeting-service.log` - `logs/notification.log` - `logs/ai.log` - `logs/stt.log` ## 개발 환경 설정 - 모든 프로파일은 `dev` 프로파일로 설정됨 - SQL 로깅이 활성화되어 개발 중 디버깅 용이 - DDL 자동 업데이트로 스키마 변경 자동 반영