o2o-triple-pick/backend/app
hbyang c9244bc42d feat(predictions): 이메일도 중복 투표 방지 (이메일 우선 식별)
같은 이메일은 같은 경기에 1픽만 — 다른 기기에서 같은 이메일로 제출 시
새 픽 추가 대신 기존 픽 수정 + crowd 보정. 이메일은 소문자 정규화 저장.
모델에 (match_id, email) 유니크 제약 추가(신규 DB 적용, 기존 테이블은 앱 로직 보장).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 10:51:42 +09:00
..
routers feat(predictions): 이메일도 중복 투표 방지 (이메일 우선 식별) 2026-06-12 10:51:42 +09:00
services feat(settle): 결과 소스를 일정 소스와 분리(RESULT_SOURCE) + 순서 무관 매칭 2026-06-12 09:41:36 +09:00
__init__.py Refactor: Next.js+Firebase → React(Vite) + FastAPI + PostgreSQL 2026-06-10 13:04:35 +09:00
config.py feat(settle): 결과 소스를 일정 소스와 분리(RESULT_SOURCE) + 순서 무관 매칭 2026-06-12 09:41:36 +09:00
database.py docker compose 수정 , 2026-06-10 15:23:05 +09:00
domain.py 전체일정 스코어 조정, utc 시간 -> kst 변경 2026-06-11 10:48:16 +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 feat(stats): 일별 방문자 집계 추가 2026-06-11 17:31:23 +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
worker.py feat(settle): 킥오프+3h 대기 제거 — 소스가 FINISHED 주면 즉시 정산 2026-06-12 10:25:56 +09:00