- travel-proxy: get_thumb NameError 수정 및 경로 조작 방어
- stock-lab, music-lab: CORS allow_origins=* → 환경변수 기반 도메인 제한
- travel-proxy, deployer: /health 엔드포인트 추가
- 전 서비스 .dockerignore 추가 (.git, __pycache__, .env 제외)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- analyzer.py: generate_combined_recommendation() 함수 추가
빈도Z(25%)·조합지문(30%)·갭(20%)·공동출현(15%)·다양성(10%) 가중 투표
- main.py: GET /api/lotto/recommend/combined 엔드포인트 추가
결과를 태그 "종합추론"으로 recommendations 테이블에 저장
- main.py: GET /api/lotto/recommend/combined/history 엔드포인트 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
매 요청마다 전체 recommendations 조회하던 구조를 캐시로 개선.
갱신 시점: 새 회차 채점 직후(_sync_and_check) + TTL 1시간 만료 폴백
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- purchase_history 테이블 추가 (draw_no, amount, sets, prize, note)
- weekly_reports 캐시 테이블 추가 (drw_no UNIQUE, report JSON)
- GET /api/lotto/purchase 구매 이력 조회 (draw_no, days 필터)
- POST /api/lotto/purchase 구매 이력 추가
- PUT /api/lotto/purchase/:id 구매 이력 수정 (당첨금 업데이트)
- DELETE /api/lotto/purchase/:id 구매 이력 삭제
- GET /api/lotto/purchase/stats 투자 수익률 통계
- GET /api/lotto/analysis/personal 개인 패턴 분석 (top/least picks, 홀짝/구간/연속번호)
- GET /api/lotto/report/history 저장된 주간 리포트 목록
- GET /api/lotto/report/:drw_no 캐시 우선 조회 + cached 플래그
- 스케줄러: 토요일 09:00 주간 리포트 자동 생성 및 DB 캐싱
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- GET /api/lotto/stats/performance: 채점 이력 기반 성과 통계
(평균 일치 수, 등수 분포, 무작위 대비 개선율)
- GET /api/lotto/report/latest: 다음 회차 공략 리포트 자동 생성
- GET /api/lotto/report/{drw_no}: 특정 회차 공략 리포트
(과출현/냉각/오버듀 번호, 최근 패턴, 3가지 전략 추천, 신뢰도 점수)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- subscription_items 테이블: 청약 목록 CRUD (GET/POST/PUT/DELETE)
- subscription_profile 테이블: 내 청약 조건 프로필 싱글톤 (GET/PUT, upsert)
- specialQuals JSON 배열, bool → int SQLite 변환 처리
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>