오후 4시 일일 브리핑 자동화 데모 계획
작성일: 2025-08-23
목표 시간: 2025-08-23 16:00 (오전 9시 기능을 4시에 테스트)
작성자: 51123 서버 관리자
1. 데모 개요
1.1 핵심 목표
- 매일 오전 9시 일일 브리핑 자동 전송 (오늘은 4시 테스트)
- 개인별 맞춤 브리핑을 Slack DM으로 전송
- 회사 전체 요약을 일반 채널에 전송
- 날짜, Slack 요약, 이메일, 일정, 날씨, 응원 메시지 포함
1.2 성공 기준
- ✅ 오후 4시 정각 자동 실행 (수동 트리거 없음)
- ✅ 3명 사용자 개별 Slack DM 전송
- ✅ 일반 채널 전체 브리핑 전송
- ✅ 웹 대시보드 실시간 업데이트
2. 시스템 아키텍처
2.1 관련 서비스 및 포트
| 서버 |
서비스 |
포트 |
역할 |
| 51123 |
robeing-gateway |
8100 |
API 프록시, JWT 인증 |
| 51123 |
auth-server |
9000 |
OAuth 인증 |
| 51123 |
PostgreSQL |
5432 |
데이터베이스 |
| 51124 |
rb8001 |
8001 |
메인 로빙 (스케줄러 실행) |
| 51124 |
skill-email |
8501 |
Gmail 읽기/요약 |
| 51124 |
robeing-monitor |
9024 |
Gmail 토큰 관리 |
2.2 데이터 흐름
- rb8001 컨테이너에서 스케줄러 실행 (16:00)
- 각 사용자별 데이터 수집
- Slack 대화 내역
- Gmail 이메일
- 일정 정보
- 날씨 API
- 개인별 브리핑 생성 및 DM 전송
- 전체 요약 생성 및 일반 채널 전송
3. 브리핑 메시지 형식
3.1 개인 DM 브리핑 예시
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 2025년 8월 23일 금요일 브리핑
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💬 어제의 Slack (3건)
• [긴급] 희재님: "내일 4시 데모 준비 완료 필요"
• [일반] 한용님: "서버 모니터링 정상"
• [완료] CEO: "OAuth 이슈 해결됨"
📧 받은 메일 (5건)
• 🔴 긴급: AWS 결제 알림 - 8/25 만료 예정
• 🟡 중요: 투자사 미팅 일정 확인 요청
• ⚪ 일반: 뉴스레터 3건
📋 오늘 일정
• 10:00 - 스탠드업 미팅
• 14:00 - 코드 리뷰
• 16:00 - 데모 시연 ⭐
☀️ 서울 날씨: 맑음 28°C (미세먼지: 좋음)
💪 "금요일입니다! 이번 주도 거의 다 왔어요.
오늘 데모 성공적으로 마무리하고 주말 맞이해요!"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3.2 일반 채널 전체 브리핑
- 개인 정보 제외
- 팀 전체 일정 중심
- 공통 관심사 위주
4. 시퀀스 다이어그램
4.1 오후 4시 자동 실행 시퀀스
sequenceDiagram
participant Scheduler as rb8001<br/>Scheduler
participant SkillEmail as skill-email<br/>(8501)
participant Monitor as robeing-monitor<br/>(9024)
participant DB as PostgreSQL
participant Gmail as Gmail API
participant Slack as Slack API
participant Frontend as Web Frontend
Note over Scheduler: 매일 16:00:00
Scheduler->>DB: 활성 사용자 목록 조회
DB-->>Scheduler: users (3명)
loop 각 사용자별 처리
Scheduler->>Monitor: Gmail 토큰 확인<br/>(X-User-Id)
Monitor->>DB: gmail_tokens 조회
DB-->>Monitor: token_data
alt 토큰 유효
Monitor-->>Scheduler: 토큰 정보
Scheduler->>SkillEmail: 이메일 요약 요청<br/>(user_id, token)
SkillEmail->>Gmail: 최근 24시간 이메일 조회
Gmail-->>SkillEmail: 이메일 목록
SkillEmail->>SkillEmail: 이메일 분류<br/>(긴급/중요/일반)
SkillEmail->>SkillEmail: 요약 생성
SkillEmail-->>Scheduler: 요약 결과
par Slack 전송
Scheduler->>Slack: DM 전송<br/>(user_slack_id)
Slack-->>Scheduler: 전송 완료
and 프론트엔드 업데이트
Scheduler->>DB: 요약 저장
Frontend->>DB: 폴링/WebSocket
DB-->>Frontend: 새 요약 데이터
end
else 토큰 없음/만료
Monitor-->>Scheduler: NO_TOKEN
Scheduler->>DB: 에러 로그 기록
end
end
Note over Scheduler: 다음 실행: 16:00:00 +1일
4.2 브리핑 생성 프로세스
sequenceDiagram
participant SE as skill-email
participant Gmail as Gmail API
participant AI as AI Model
SE->>Gmail: messages.list()<br/>(최근 24시간)
Gmail-->>SE: message_ids[]
loop 각 메일별
SE->>Gmail: messages.get(id)
Gmail-->>SE: 메일 상세
SE->>SE: 메타데이터 추출<br/>(발신자, 제목, 시간)
SE->>AI: 중요도 분류 요청
AI-->>SE: 긴급/중요/일반
end
SE->>SE: 카테고리별 그룹화
SE->>AI: 전체 요약 생성
AI-->>SE: 요약 텍스트
SE-->>SE: 최종 포맷팅
Note over SE: 📧 일일 브리핑<br/>긴급: N건<br/>중요: N건<br/>일반: N건
5. 구현 체크리스트
5.1 51123 서버 (완료)
5.2 51124 서버 (진행 중)
5.3 프론트엔드 (확인 필요)
6. 테스트 시나리오
6.1 사전 준비
- 3명 사용자 Gmail OAuth 인증 완료
- 각 사용자별 테스트 이메일 준비
- Slack 워크스페이스 접속
6.2 테스트 진행
| 시간 |
액션 |
예상 결과 |
| 15:55 |
시스템 상태 확인 |
모든 서비스 정상 |
| 15:58 |
테스트 이메일 발송 |
Gmail 수신 확인 |
| 16:00 |
자동 실행 |
스케줄러 트리거 |
| 16:01 |
Slack DM 확인 |
개인 브리핑 수신 |
| 16:01 |
일반 채널 확인 |
전체 브리핑 수신 |
| 16:01 |
웹 확인 |
대시보드 업데이트 |
7. 장애 대응
7.1 예상 이슈
| 이슈 |
원인 |
대응 |
| 스케줄러 미실행 |
시간대 설정 |
TZ 환경변수 확인 |
| Gmail API 실패 |
토큰 만료 |
토큰 갱신 |
| Slack 전송 실패 |
API 제한 |
재시도 로직 |
| 프론트엔드 미갱신 |
캐시 |
강제 새로고침 |
7.2 모니터링 포인트
- rb8001 컨테이너 로그
- skill-email 서비스 로그
- PostgreSQL 쿼리 로그
- nginx 액세스 로그
이 문서는 2025-08-23 오후 4시 데모를 위한 실행 계획입니다.
실제 서비스는 매일 오전 9시에 자동 실행됩니다.