o2o-triple-pick/backend/app
hbyang 955ffae4cf Open voting for all groups by D-2 time + 30h-ahead AI gen; misc fixes
- domain: is_votable → all groups (voting gated by D-2 open ~ kickoff-60m time window, not group)
- worker: AI generation selects matches by opens_at <= now+lookahead (all groups), pre-fills before D-2 open so picks aren't empty; only_missing keeps total calls = 3/match
- config: ai_generate_lookahead_hours=30 (covers daily-only gen cadence)
- Arena: default pick 0:0 (무승부)
- frontend Dockerfile: install from package.json only (macOS-generated lock leaves rollup darwin-x64 stub w/o version → npm "Invalid Version" on linux)

NOTE for deploy: set DEMO_FORCE_OPEN=false and real PUBLIC_ORIGIN in server .env.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 16:43:28 +09:00
..
routers Load all 12 groups' schedule (72 matches) + Naver-style schedule UI 2026-06-12 14:56:24 +09:00
services Load all 12 groups' schedule (72 matches) + Naver-style schedule UI 2026-06-12 14:56:24 +09:00
__init__.py Refactor: Next.js+Firebase → React(Vite) + FastAPI + PostgreSQL 2026-06-10 13:04:35 +09:00
config.py Open voting for all groups by D-2 time + 30h-ahead AI gen; misc fixes 2026-06-12 16:43:28 +09:00
database.py docker compose 수정 , 2026-06-10 15:23:05 +09:00
domain.py Open voting for all groups by D-2 time + 30h-ahead AI gen; misc fixes 2026-06-12 16:43:28 +09:00
main.py feat(stats): 일별 방문자 집계 추가 2026-06-11 17:31:23 +09:00
models.py feat(predictions): 이메일도 중복 투표 방지 (이메일 우선 식별) 2026-06-12 10:51:42 +09:00
regenerate_ai.py perf(ai): 자동 생성은 비어있는 예측만 채우도록(기존 보존) 2026-06-11 16:17:12 +09:00
schedule_data.py 전체일정 스코어 조정, utc 시간 -> kst 변경 2026-06-11 10:48:16 +09:00
schemas.py Load all 12 groups' schedule (72 matches) + Naver-style schedule UI 2026-06-12 14:56:24 +09:00
scoring.py 포인트 시스템 추가, 프론트 국기 반영 2026-06-10 15:11:56 +09:00
seed.py Refactor: Next.js+Firebase → React(Vite) + FastAPI + PostgreSQL 2026-06-10 13:04:35 +09:00
seed_data.py Refactor: Next.js+Firebase → React(Vite) + FastAPI + PostgreSQL 2026-06-10 13:04:35 +09:00
teams_data.py Load all 12 groups' schedule (72 matches) + Naver-style schedule UI 2026-06-12 14:56:24 +09:00
worker.py Open voting for all groups by D-2 time + 30h-ahead AI gen; misc fixes 2026-06-12 16:43:28 +09:00