두 시스템 자동 로그인
바디코디 · 온스튜디오 모두 SPA 라우팅 타이밍 보정 후 안정 작동.
두 시스템 로그인·오늘 수업 추출·신청자 명단 추출·메일 발송·매일 08:00 자동 실행까지 모두 검증 완료. 매일 아침 진짜 데이터가 든 메일이 자동 도착합니다.
| 시간 | 수업 | 강사 | 신청 인원 | 명단 추출 |
|---|---|---|---|---|
| 18:45 | Yotes(요가+필라테스/B) | 쥰 | 3 / 8 | ✅ 권푸름, 김건희, 배서은 |
| 20:00 | Good Night Yoga(인+하타/R) | 쥰 | 2 / 8 | ✅ 2명 명단 정상 추출 |
| 온스튜디오는 오늘 수업 없음 (5월 5일부터 일정 등록) | ||||
[DRY-RUN] [수업알림] 2026-05-04 오늘의 수업 · 총 5명바디코디 · 온스튜디오 모두 SPA 라우팅 타이밍 보정 후 안정 작동.
바디코디는 dhtmlx scheduler 헤더 X 좌표 + 시간 라벨 컬럼 오프셋 보정으로 정확한 일자 매칭. 온스튜디오는 FullCalendar의 td.fc-day-today 활용.
바디코디: 우클릭 시 뜨는 컨텍스트 메뉴(:visible 필터로 정확히 매칭) → "예약 내역 보기" → 회원 테이블 텍스트 파싱. 온스튜디오: Ant Design 모달 안 텍스트 영역 파싱.
토스 스타일 카드형 레이아웃, 그라데이션 헤더, 시스템별 명단, 동기화 결과 인라인. 네이버 SMTP 정상 발송 검증.
com.midbar.bodycody-onstudio 등록 완료. launchctl list로 확인 가능. 즉시 트리거 검증도 통과.
한 시스템 다운되어도 다른 쪽 데이터로 메일 발송, 본문 상단에 빨간 경고. logs/run-YYYY-MM-DD.log에 모든 실행 로그.
현재는 DRY-RUN 모드입니다. 1주일 정도 메일 받아보시면서 실제 데이터와 일치하는지 확인하시고, 문제없으면 .env의 DRY_RUN=false로 바꿔서 자동 동기화(온스튜디오→바디코디 예약 등록)를 활성화하면 됩니다.
제목 [DRY-RUN] [수업알림] 2026-05-04 오늘의 수업 · 총 5명 메일 도착 + 본문에 신청자 명단까지 표시되는지 확인. 문제없으면 끝!