Repository navigation
feat: beta-tester 배지 추가와 mode 축 enum 개조 - #15
Merged
Merged
Conversation
클로즈드 베타 기여자용 터미널 창 배지를 추가한다. 표시 값이 마감된 구간의 집계라 렌더마다 변하면 안 되므로, badge_snapshot 테이블에 미리 계산한 JSON을 복합 PK로 저장하고 렌더는 그것만 읽는다. V7이 스냅샷·자격·이력을 함께 적재한다. 악센트 3색(cyan/green/purple)을 ?mode= 축에 노출하기 위해 boolean isDark를 BadgeMode enum으로 바꿨다. 기존 배지 3종은 패밀리 훅에서 boolean을 유지해 렌더 결과가 바뀌지 않는다.
2 of 5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🏷️ 작업 유형
📋 변경 사항
클로즈드 베타(2026-07~08) 기여자용 터미널 창 배지
beta-tester를 추가했습니다.고정 스냅샷 아키텍처
badge_snapshot테이블에 미리 계산한 JSON을 저장하고 렌더는 복합 PK로 한 번만 읽습니다.(github_id, badge_code)복합 PK가 유일한 조회 경로라 추가 인덱스를 만들지 않았습니다. 값이 고정된 다른 배지도 이 테이블을 그대로 재사용합니다.마이그레이션
V6—badge_snapshot테이블, 표시용 단위 축약 함수badge_compact_number, 배지 카탈로그 등록V7— 베타 참여자(created_at < 2026-08-09 00:00+09)의 스냅샷·자격(user_badge_grant)·이력(badge_grant_history) 일괄 적재?mode=축 enum 개조boolean isDark로는 값이 둘밖에 표현되지 않아BadgeModeenum으로 바꿨습니다.supportedModes()/defaultMode()로 미지원 값을 접어 캐시 키 카디널리티를 테마 지원 집합으로 묶습니다.boolean isDark를 유지해 렌더 결과가 바뀌지 않습니다. 기존 테마 테스트의 단언을 한 줄도 고치지 않고 통과합니다.✅ 테스트
./mvnw clean verify— 유닛 476건 / 통합 37건 전부 통과BadgeModeTest,BadgeSnapshotIdTest,BetaTester{BadgeTheme,Mascot,ProviderMark,Snapshot}TestBadgeSnapshotRepositoryIntegrationTest— Testcontainers 실 PostgreSQL에서payload::textjsonb 왕복, 복합키 격리,badge_compact_number표기 계약 검증