DOCS/plans/250823_4pm_email_briefing_demo_plan.md
happybell80 4ee8e849a8 docs: 일일 브리핑 데모 계획 수정
- 이메일 브리핑 → 일일 브리핑으로 변경
- Slack DM 및 일반 채널 전송 명시
- 브리핑 메시지 예시 추가 (비즈니스형 스타일)
- 불필요한 추측성 내용 제거
- 오전 9시 기능을 오후 4시에 테스트 명확화
2025-08-23 09:51:59 +09:00

7.1 KiB

오후 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 데이터 흐름

  1. rb8001 컨테이너에서 스케줄러 실행 (16:00)
  2. 각 사용자별 데이터 수집
    • Slack 대화 내역
    • Gmail 이메일
    • 일정 정보
    • 날씨 API
  3. 개인별 브리핑 생성 및 DM 전송
  4. 전체 요약 생성 및 일반 채널 전송

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 서버 (완료)

  • OAuth 로그인 시스템
  • JWT 인증 구현
  • Gateway UUID 변환
  • PostgreSQL 사용자 관리

5.2 51124 서버 (진행 중)

  • rb8001 스케줄러 구현
    • 16:00 트리거 설정
    • 사용자 목록 조회
  • 데이터 수집
    • Slack 대화 내역
    • Gmail 이메일
    • 날씨 정보
  • 브리핑 전송
    • Slack DM 개인 전송
    • 일반 채널 전체 전송

5.3 프론트엔드 (확인 필요)

  • JWT 헤더 전송
  • 브리핑 표시 UI

6. 테스트 시나리오

6.1 사전 준비

  1. 3명 사용자 Gmail OAuth 인증 완료
  2. 각 사용자별 테스트 이메일 준비
  3. 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시에 자동 실행됩니다.