Skip to content

feat(challenge): 전역 주간 선택 챌린지 운영 도입 - #191

Merged
msk226 merged 1 commit into
developfrom
feature/190
Aug 10, 2026
Merged

msk226 merged 1 commit into
developfrom
feature/190

Conversation

@msk226

@msk226 msk226 commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

개요

주간 선택 챌린지를 그룹별 수동 등록 방식에서 전역 원본과 그룹별 진행 인스턴스를 연결하는 구조로 전환합니다.

관련 이슈

Closes #190

변경 사항

  • global_weekly_challenge 원본 모델과 group_challenge.global_weekly_challenge_id 연결 키를 추가했습니다.
  • 전역 관리자 CRUD API를 추가하고, 등록 시 모든 활성 그룹에 연결된 진행 인스턴스를 생성합니다.
  • 새 그룹 생성 시 진행 중인 전역 주간 챌린지 인스턴스를 자동 생성합니다.
  • 전역 원본 수정은 연결된 그룹 인스턴스 기간에 반영하고, 삭제 시 원본과 메타데이터만 비활성화해 그룹별 인증 데이터는 보존합니다.
  • 기존 그룹별 주간 챌린지 데이터는 연결 키가 NULL인 레거시 항목으로 유지합니다.
  • 전역 연결 항목은 그룹별 관리자 수정·삭제 API에서 차단합니다.

문서

  • LLD: docs/lld/LLD-0022-weekly-challenge-api.md

테스트

  • ./gradlew test: 통과
  • ./gradlew test --tests 'cmc.mody.challenge.application.GlobalWeeklyChallengeServiceTest': 통과

비고

  • DB migration V14__create_global_weekly_challenge.sql을 추가했습니다.
  • Dev/Prod 데이터 변경 및 배포는 수행하지 않았습니다.

그룹별 수동 등록으로 분산되던 주간 챌린지를 전역 원본과 그룹 진행 인스턴스 연결 구조로 전환한다. 기존 그룹별 데이터는 유지하면서 새 그룹에도 진행 중인 원본을 자동 연결한다.

Refs #190

Co-Authored-By: Codex <codex@openai.com>
@msk226 msk226 added the feature 새로운 기능 개발 label Aug 10, 2026
@msk226 msk226 self-assigned this Aug 10, 2026
@msk226
msk226 merged commit d77ee46 into develop Aug 10, 2026
1 check passed
@msk226
msk226 deleted the feature/190 branch August 10, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature 새로운 기능 개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

전역 주간 선택 챌린지 운영

1 participant