Commit Graph

236 Commits

Author SHA1 Message Date
a2d84421d2 feat(video): 제목·설명·해시태그를 영상 완료 시 DB에 저장
업로드 시점 Redis SEO 캐시 대신 video 행을 기준으로 두고, 게시 시에만 변경분을 갱신한다.
2026-08-19 10:17:22 +09:00
c7149deb1f fix: 배포환경에 맞게 공유URL 적용되도록 수정 2026-08-18 17:23:50 +09:00
51ef659f16 fix:공유하기 기본이미지 + 내용 2026-08-18 14:55:32 +09:00
1507a0f859 feat(archive): 영상 목록 조회에 내 좋아요 여부(is_liked_by_me) 포함 2026-08-18 11:02:19 +09:00
11c358da3c feat(video): 영상 공유용 Open Graph 페이지 라우트 추가 2026-08-18 11:02:15 +09:00
8e9e12fe0b feat(video): 영상 첫 프레임 썸네일 생성 및 저장 2026-08-13 17:23:06 +09:00
4c4297c37a fix(creatomate): 슬롯명이 명명 규칙을 어겨도 썸네일·태그 배정이 폴백되도록 수정 2026-08-12 15:31:02 +09:00
b04e239344 refactor: 크롤링/업로드 로그를 요청당 1줄 요약으로 축소
- 단계별 진행 로그를 삭제하고 계측치를 SUCCESS 한 줄에 통합
- 실패 경로(error/warning/exception) 로그는 그대로 유지
- gpt_status 를 locals() 검사 대신 초기화 후 직접 참조
2026-08-12 13:21:47 +09:00
f87cd07d5e feat(home): 이미지 업로드에 크기·개수 상한과 task 직렬화 락 도입 2026-08-11 17:06:21 +09:00
8096837b13 유튜브 네트워크 오류 재시도 설정 추가 2026-07-28 16:07:08 +09:00
5903211eb9 fix: Meta 전환 이벤트 IP 추출 정확도 개선 및 첫 영상 백필 마이그레이션 추가
- _extract_client_ip를 X-Real-IP → X-Forwarded-For → 소켓 peer 순으로
  후보를 순회하며 공인 IP만 반환하도록 변경. 사설/루프백 대역(Docker 172.x,
  127.0.0.1 등)은 Meta가 폐기해 매개변수 전송률만 떨어뜨리므로 전송 생략
- X-Forwarded-For 맨 앞 항목은 클라이언트 위조가 가능하므로 단순 첫 항목
  사용을 중단하고, nginx가 덮어쓰는 X-Real-IP를 우선 사용
- 기존 회원의 first_video_created_at 백필 SQL 추가.
  신규 컬럼이라 전원 NULL이어서 배포 후 기존 회원이 영상을 추가 생성하면
  FirstVideoCreated가 오발화되는 문제 방지 (배포 전 실행 필요)
2026-07-28 09:34:27 +09:00
68fc5ebca6 Merge branch 'main' into feature-meta 2026-07-27 15:27:46 +09:00
cb8485ecd5 fix: 도메인 예외 롤백 로깅 개선 및 영상 생성 템플릿 배정 일관성 수정
- get_session에서 SocialException/DashboardException을 별도로 처리하여
  정상 플로우인 도메인 예외는 ERROR traceback 없이 warning 롤백 로그만 남기도록 수정
- generate_video 호출 시 CreatomateService에 project_id를 전달하여,
  미매핑 업종(general 등)의 템플릿 분배가 사전 이미지 배정 단계와
  동일한 템플릿을 사용하도록 일관성 확보
2026-07-27 11:21:01 +09:00
cbc3f47b54 fix: 썸네일 슬롯 매칭 개선, 가사 스키마 오류 수정, 롤백 로그 레벨 조정
- creatomate: 썸네일 슬롯 한정 subject 일치 시 space_type 페널티 면제,
  subject 가중치 상향 (2.0 → 3.0)
- lyric 스키마: 트레일링 콤마로 tuple이 되어버린 필드 정의 수정,
  중복 genre 필드 제거
- session: 4xx 도메인 예외 롤백 로그를 traceback 없는 WARNING으로 완화

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 13:11:46 +09:00
73b05f5cca feat: Meta 전환 추적(CAPI) 및 UTM 어트리뷰션 추가
- Meta Conversions API 클라이언트 추가 (app/utils/meta_capi.py)
- 전환 추적 라우터 추가 (/tracking/meta/first-video-created,
  /tracking/meta/complete-registration) 및 main.py 등록
- User 모델에 전환 1회 판정 컬럼(first_video_created_at,
  registration_tracked_at) 및 가입 시점 first-touch UTM 컬럼 5종 추가
- 카카오 콜백 리다이렉트 URL에 is_new_user 파라미터 추가
  (프론트가 신규 가입 시에만 CompleteRegistration 발화하도록)
- MetaConversionSettings 설정 추가 (FACEBOOK_PIXEL_ID,
  FACEBOOK_ACCESS_TOKEN, FACEBOOK_TEST_EVENT_CODE)
- DB 마이그레이션 SQL 2건 추가 (docs/database-schema/)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 10:28:37 +09:00
6090d500f9 썸네일 선택 로직 및 필터링 추가 2026-07-22 15:54:34 +09:00
788e76ef76 번역오류 수정 및 CTA적용 2026-07-21 13:56:40 +09:00
a253c5dd3a 썸네일 적용 2026-07-16 15:44:24 +09:00
153484f2bd 썸네일 생성 기능 추가 2026-07-16 13:37:13 +09:00
7ec9e9749d 제미나이 gpt로 변경 2026-07-14 11:05:15 +09:00
236c7916a7 이미지 수집 100장 상한 추가 2026-07-13 15:13:24 +09:00
593b6d9922 네이버 정책 변경으로 인한 이미지 크롤링 코드 수정 2026-07-13 14:47:13 +09:00
18ba089110 축제/행사 atrraction으로 분류 2026-07-10 13:56:31 +09:00
64b9959000 attraction 탬플릿 적용 2026-07-10 12:00:25 +09:00
3af57500b2 카페, 식당 탬플릿 이미지 정합 2026-07-10 10:42:26 +09:00
2dadb843c8 크롤링 재시도 간격 단축 2026-07-09 15:47:46 +09:00
e6764a85bd 안티봇 우회용 브라우저 프로필 추가 2026-07-09 15:20:29 +09:00
2107d5adf1 네이버 안티봇 차단 우회 추가 2026-07-09 15:04:10 +09:00
e53084ed17 카페, 식당 템플릿 적용 2026-07-09 14:19:48 +09:00
76485ebbcc 영상생성 로직 및 검색 방식 추가 2026-07-07 13:16:46 +09:00
b8be2a355a 이미지 크롤링 로직 변경 및 자막 이미지 매칭 보완 2026-07-06 16:23:16 +09:00
4d8462651a 직접입력시 업종추가 2026-07-03 15:59:52 +09:00
46449a7a3f 이미지 크롤링 로직 변경 및 자막 이미지 매칭 보완 2026-07-03 11:46:32 +09:00
04d8614919 범용 프롬프트 적용 2026-06-29 15:06:04 +09:00
8415e1c3a7 네이버 크롤링 우회 코드 추가 2026-06-29 10:36:53 +09:00
b908408b4a 구글 시트 batch로 수정 2026-06-19 16:26:39 +09:00
009b1a5d09 업체명+URL 검색 통합 및 요식업종 가하도록 추가 2026-06-19 16:00:27 +09:00
bea0fa0684 예약 업로드 충돌 수정 2026-06-12 14:02:06 +09:00
997927d42a 언어선택에 따른 자막생성 구현 2026-06-08 09:20:27 +09:00
bdee852bed 주소 파싱코드 분리 및 에러 수정 2026-06-02 17:21:27 +09:00
2b4c89217a 도 전체 매핑 추가 및 미사용 코드 삭제 2026-06-02 11:56:36 +09:00
33e479de02 Merge branch 'feature-BizInput' of https://gitea.o2o.kr/castad/o2o-castad-backend into feature-BizInput 2026-06-02 10:56:13 +09:00
e56aa35170 직접입력 기능 2026-06-02 10:53:31 +09:00
f7e3142ca4 업체 직접 입력 기능구현 2026-05-28 14:23:07 +09:00
73e5da3f08 자막생성 재시도 로직 추가 2026-05-27 15:44:44 +09:00
5f3e8ec341 콘텐츠 공유 페이지 및 공유하기, 좋아요, 댓글 기능 추가 2026-05-27 13:08:25 +09:00
346b461e9c 자막 생성 상태 조회를 위한 엔드포인트 추가 및 비동기 처리 2026-05-20 13:22:52 +09:00
666115ae88 동의 화면 표시하여 refresh_token 발급 보장 2026-05-13 16:11:57 +09:00
ec3e0159e8 배경음악 기능 추가 2026-05-12 15:18:35 +09:00
2c8c16c288 토큰 로직 수정 2026-05-11 14:01:26 +09:00